hls: check the same config files as the CLI - #1317
Open
LinkIsGrim wants to merge 1 commit into
Open
Conversation
The CLI checks every rapifiable file in an addon - `cpp`, `rvmat`, `ext`, `sqm`, `bikb`, `bisurf` - and honours the addon's rapify settings. The language server only ever looked at `config.cpp`, because that is what `workspace.root().addons()` collects, and ignored `exclude` and `enabled` entirely. So an error in a `.rvmat` or `.ext` was reported by `hemtt check` and never shown in the editor, unless the file happened to be `#include`d from a `config.cpp`. In the other direction, a file the project had deliberately excluded from rapifying was reported in the editor and not by the CLI. `hemtt_config::files` now owns both halves of that decision: `can_rapify`, moved out of the rapifier, and `checkable`, which walks an addon applying it along with `rapify.enabled` and the `exclude` globs. Both callers use it. The language server scans addons rather than collecting `config.cpp` paths, and skips checking with a warning if that scan fails rather than panicking. Verified against a project built to trigger each case. `L-C08` in a `.rvmat` now appears in both; an excluded `.rvmat` appears in neither; `enabled = false` skips the addon's configs in both. On ACE3 the CLI is unchanged - 389 configs and 2746 sqf files, with the same diagnostics as before. `hemtt-config` gains `glob`, `thiserror` and `tracing`. `glob` is not a workspace dependency yet, so it is pinned to the version `bin` already uses.
Codecov Report❌ Patch coverage is
Additional details and impacted files
🚀 New features to boost your workflow:
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The CLI checks every rapifiable file in an addon -
cpp,rvmat,ext,sqm,bikb,bisurf- and honors the addon's rapify settings. The language server only ever looked atconfig.cpp, because that is whatworkspace.root().addons()collects, and ignoredexcludeandenabledentirely.So an error in a
.rvmator.extwas reported byhemtt checkand never shown in the editor, unless the file happened to be#included from aconfig.cpp. In the other direction, a file the project had deliberately excluded from rapifying was reported in the editor and not by the CLI.hemtt_config::filesnow handles everything:can_rapifyis moved out of the rapifier, andcheckable, which walks an addon applying it along withrapify.enabledand theexcludeglobs. Both callers use it. The language server scans addons rather than collectingconfig.cpppaths, and skips checking with a warning if that scan fails rather than panicking.Verified against a project built to trigger each case.
L-C08in a.rvmatnow appears in both; an excluded.rvmatappears in neither;enabled = falseskips the addon's configs in both. On ACE3 the CLI is unchanged - 389 configs and 2746 sqf files, with the same diagnostics as before.hemtt-configgainsglob,thiserrorandtracing.globis not a workspace dependency yet, so it is pinned to the versionbinalready uses.