Skip to content

fix(unsaved): rework logic for inferring filetype for unsaved documents#24

Merged
isbecker merged 2 commits into
mainfrom
fix/infer-filetypes
Dec 23, 2025
Merged

fix(unsaved): rework logic for inferring filetype for unsaved documents#24
isbecker merged 2 commits into
mainfrom
fix/infer-filetypes

Conversation

@isbecker

Copy link
Copy Markdown
Owner

No description provided.

Copilot AI review requested due to automatic review settings December 23, 2025 18:16

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR reworks the logic for inferring file types for unsaved documents in the VSCode treefmt extension. The main changes include refactoring the getExtensionForLanguage function to better handle language extension detection, extracting testable logic into separate functions, migrating from .eslintrc.json to ESLint flat config (eslint.config.mjs), adding comprehensive test coverage for the new logic, and upgrading dependencies.

  • Improved stdin specifier inference for unsaved documents by preferring actual file extensions over bare filenames
  • Refactored configuration loading logic into testable units
  • Added comprehensive test suite with new test files and helpers

Reviewed changes

Copilot reviewed 12 out of 13 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
src/treefmtUtils.ts Refactored filetype inference logic, extracted helper functions, added test exports
src/test/testContext.ts New helper for creating test context with mock extension context
src/test/stdinTokenInference.test.ts New tests for stdin token inference logic
src/test/pathAndExtensionHelpers.test.ts New tests for path and extension helper functions
src/test/extension.test.ts Reorganized test suite to use modular test registration
src/test/environment.test.ts New tests for environment validation
src/test/commands.test.ts New tests for command execution
src/test/commandResolution.test.ts New tests for command resolution logic
eslint.config.mjs Migration to ESLint v9 flat config (with issues)
.github/workflows/test.yaml New CI workflow for running tests
.eslintrc.json Removed legacy ESLint configuration
package.json Updated dependencies and version bump
package-lock.json Dependency updates

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread eslint.config.mjs
Comment thread .github/workflows/test.yaml Outdated
Comment thread eslint.config.mjs
@isbecker isbecker merged commit a789643 into main Dec 23, 2025
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants