Move path normalization to the start of request_document_symbols and
request_hover methods. This ensures backslash paths work on Linux/macOS
where backslash is a literal character, not a path separator.
Move the AL name extraction pattern and function into the class as a
static method since they are only used by the language server.
Addresses PR #960 review comment.
Only store the original name in the cache if we have valid position data.
This prevents false cache matches at position (0, 0) when selectionRange
is missing from a symbol.
Addresses PR #960 review comment.
- Override request_hover() to inject cached original names (e.g. 'Table 50000 "TEST Customer"')
into hover responses, preserving object type and ID metadata that the AL LSP doesn't include
- Add _normalize_path() for consistent cache keys across Windows/Unix path formats
- Add comprehensive tests for hover injection and path normalization
AL Language Server returns symbol names with full object format like
'Table 50000 "TEST Customer"', but symbol names should be pure without
metadata - uniformly across all languages.
This follows the same pattern as Java LS which strips type information
from names. Metadata (object type, ID) is available via the hover LSP
method when using include_info=True in find_symbol.
Changes:
- Add extract_al_display_name() to parse AL object names
- Override request_document_symbols() to normalize names at source
- Update tests to expect normalized names
* Make the save function update all configuration settings
* Consider all non-existing keys to be a migration, triggering a resave
* Improve handling of settings that do not use the same name in
the configuration file
* Properly group SerenaConfig class members:
- public setting (config file-mapped)
- private setting (renamed to use _ prefix)
- static member
- methods
* Add configuration setting 'jetbrains_plugin_server_adress',
which is centrally propagated (avoiding injection)
* Add 'fixed_tools' to template file (was previously a "hidden" setting)
Relates to #941
Also extended docs around that topic.
The setting `context_settings={"max_content_width": _MAX_CONTENT_WIDTH}` in the click command makes the CLI --help output more readable and ensures longer links are not broken up into multiple lines. For consistency, I added it to all commands
* Add specialisation LanguageServerDependencyProviderSinglePath,
where the core path can be overridden via ls_specific_settings #917
* Implement in MatLabLanguageServer and TypeScriptLanguageServer
* Backwards compatibility is retained; the new approach is optional