Commit Graph
2050 Commits
Author SHA1 Message Date
takeokunn c972380d0a fix(test): remove php_phpactor symlink and add repo alias mapping
Remove the unnecessary php_phpactor -> php symlink. Instead, add a
_LANGUAGE_REPO_ALIASES mapping in conftest.py so that variant language
servers (PHP_PHPACTOR, PYTHON_JEDI, RUBY_SOLARGRAPH) resolve to their
base language's test repository without needing filesystem symlinks.

Addresses review comment on PR #1002.
2026-02-08 01:03:12 +09:00
takeokunn d39967dd67 fix(php): add PHP version validation for Phpactor
Check that the installed PHP version is >= 8.1 before proceeding with
Phpactor setup. Raises RuntimeError with a clear message if the version
is too old, and logs a warning if the version string cannot be parsed.

Addresses review comment on PR #1002.
2026-02-08 01:03:04 +09:00
takeokunn 65c24a0df8 feat(php): add Phpactor as alternative PHP language server
- Introduce PHP_PHPACTOR enum and integration in ls_config
- Implement PhpactorServer for PHP with dependency management
- Update docs and changelog for Phpactor support and usage
- Add project template entry for php_phpactor
- Provide tests for Phpactor LSP definition and reference features
2026-02-07 22:40:56 +09:00
Dominik Jain 944cf5d956 Improve docs on mode configuration 2026-01-30 00:36:28 +01:00
Dominik Jain a9552b64f5 Merge pull request #969 from oraios/feature/mode-config
Improve mode configurability and general config improvements
2026-01-29 20:05:16 +01:00
Dominik Jain 80f3586186 Support forced comment updates when transferring comments
Apply forced update for 'projects' key (old comment is misleading)
2026-01-29 19:02:26 +01:00
Dominik Jain ad47570c4f Minor changes to improve uniformity of comments 2026-01-29 19:02:26 +01:00
Dominik Jain 153ccb5238 Improve --mode help text 2026-01-29 19:02:26 +01:00
Michael Panchenko f14faa12d0 Merge pull request #947 from Linde7777/fix-codex-prompt
Adjust the activation prompt for Codex, to make GPT-5 more compliant.
2026-01-29 14:26:09 +07:00
Michael Panchenko c41810a227 Better documentation of modes in cli 2026-01-29 13:49:30 +07:00
Michael Panchenko df0c10fa1a Minor: declare mode-related fields instead of setting them
The fields _active_modes and _active_tools were overwritten directly after having been set, this is no longer the case
2026-01-29 12:50:56 +07:00
Dominik Jain 754d7e5108 transfer_missing_yaml_comments: Remove obsolete parameter fully_missing_only 2026-01-28 19:49:00 +01:00
Dominik Jain f0cb06eb4b Add docstrings 2026-01-28 19:49:00 +01:00
Dominik Jain 3c29a8fbe8 Deduplicate active modes 2026-01-28 19:49:00 +01:00
Dominik Jain 712c493360 Handle newline differences between leading and trailing comments 2026-01-28 19:49:00 +01:00
Dominik Jain a8753d9618 Apply YAML comment transfer to serena_config.yml when re-saving
* Use leading comment convention in template, because trailing
   comments are much more difficult to deal with and very hard to normalise
 * Apply a conversion to the user's yaml content (translating from trailing
   comments where necessary) before applying the comment transfer
2026-01-28 19:49:00 +01:00
Dominik Jain 5125831c3a Improve comment on special requirements for language servers, linking to docs 2026-01-28 19:49:00 +01:00
Dominik Jain 7c7f100d75 transfer_missing_yaml_comments_by_index: Also transfer source comment if target comment is effectively empty 2026-01-28 19:49:00 +01:00
Dominik Jain a58a1c2f16 Transfer comments from template when re-saving project.yml files 2026-01-28 19:49:00 +01:00
Dominik Jain 57423142fe Add YAML comment normalisation to ensure that comments are properly associated
with the respective keys (given a file that uniformly uses pre-key comments)
2026-01-28 19:49:00 +01:00
Dominik Jain 71fca6c567 Remove unnecessary overload (always preserve comments) 2026-01-28 19:49:00 +01:00
Dominik Jain c6b00c39eb Separate YAML and dataclass utils 2026-01-28 19:49:00 +01:00
Dominik Jain 7ad00d8e51 Ensure that project.yml files are complete, re-saving incomplete ones with defaults 2026-01-28 19:49:00 +01:00
Dominik Jain 40a3075cc0 Ensure consistent mode configuration for project
Enabled modes must not depend on project activation order.
Always apply, in order: SerenaConfig, ProjectConfig, current CLI overrides
2026-01-28 19:49:00 +01:00
Dominik Jain 5b103ee281 Improve configurability of modes
Modes can now be configured in three places (in reverse order of precedence)
  * global config
  * project config
  * command line

Furthermore, we differentiate base modes from default modes,
where command line parameters override only default modes,
adding more flexibility

Resolves #926
2026-01-26 20:20:29 +01:00
Dominik Jain 414f591d58 Update contribution guidelines [skip ci] 2026-01-26 13:23:42 +01:00
Dominik Jain be77ad371d Merge pull request #948 from zen010101/feature/pasls-auto-update
feat(pascal): Add auto-update for Pascal Language Server
2026-01-24 15:53:28 +01:00
Dominik Jain 8260ca7f4b Merge pull request #967 from oraios/name-path-matching-logic
Adjust name path matching logic to consider overload indices at all positions in the name path
2026-01-24 14:12:13 +01:00
Dominik Jain 0fbc2b5f82 Adjust name path matching logic to consider overload indices at all positions in the name path
(now matching the implementation in the JetBrains plugin)

Resolves #935
2026-01-24 02:21:11 +01:00
Dominik Jain 62e407dae5 Merge pull request #950 from zen010101/feature/pascal-ls-specific-settings
feat(pascal): Support ls_specific_settings for Pascal LSP
2026-01-24 02:14:45 +01:00
zen010101 ab3787c8e3 docs: Update Pascal docs to focus on ls_specific_settings
Changed documentation to describe ls_specific_settings configuration
instead of environment variables, as suggested by reviewer.
2026-01-24 07:06:59 +08:00
zen010101 5502e5246a chore: retrigger CI 2026-01-24 05:45:15 +08:00
zen010101 dabf14f1f6 docs: Add Pascal language server configuration documentation
Document pasls settings including:
- Language server installation (PATH vs auto-download)
- Auto-update behavior (24h interval, SHA256 verification, atomic updates)
- Configuration via environment variables (PP, FPCDIR, LAZARUSDIR, etc.)
2026-01-23 16:49:07 +08:00
Dominik Jain 1ec5a731a3 cli: Allow "project index" with project name (not just path), refactoring 2026-01-22 14:39:23 +01:00
Dominik Jain 1d0e38be85 cli: Remove deprecated indexing command 2026-01-22 14:29:33 +01:00
Dominik Jain 0f3e23c4e8 cli: "project create" now saves the created project to SerenaConfig
Resolves #868
2026-01-22 14:29:32 +01:00
Dominik Jain a2d2f0f0a9 Merge pull request #965 from oraios/memory-efficient-body-cache
Ensure memory-efficient high-level document symbol cache
2026-01-22 02:25:20 +01:00
Dominik Jain c2e795fce4 Ensure memory-efficient high-level document symbol cache #944
* Introduce SymbolBody representation (compact), from which the
    body can be reconstructed, rendering body computation lazy
  * Introduce SymbolBodyFactory for the creation of such instances,
    ensuring that instances created from the same factory share
    the same file content, allowing the in-memory and on-disk caches
    to have a significantly smaller memory footprint
  * Change type of "body" key in UnifiedSymbolRepresentation to use
    SymbolBody instead of str
  * Adjust all usages of the "body" key
2026-01-22 01:39:59 +01:00
Dominik Jain fe0cc7bb0c Avoid circular import issue 2026-01-22 00:45:29 +01:00
Dominik Jain 1d766bea2a JetBrainsPluginClient: Improve error handling when retrieving service status #962 2026-01-21 12:42:50 +01:00
Michael Panchenko b0a1546bb6 Finalized setup instructions for Antigravity
Serena works in it now
2026-01-21 11:46:23 +07:00
Michael Panchenko bd4bac87a0 Merge pull request #963 from zyn1018/fix/jetbrains-plugin-http-error-handling
fix: handle HTTPError in JetBrainsPluginClient initialization
2026-01-21 10:49:45 +07:00
Yinan Zhang 3d61055127 fix: handle HTTPError in JetBrainsPluginClient initialization
When the JetBrains plugin service returns HTTP 503 error, the client
now gracefully handles it by setting _plugin_version and _project_root
to None, allowing the port scanning logic to continue trying other ports.

Fixes #962
2026-01-21 11:35:10 +08:00
Dominik Jain d73d9951fd Merge pull request #960 from SShadowS/al-display-name-normalization
feat(al): apply symbol name normalization in AL language server
2026-01-20 12:37:09 +01:00
Torben Leth 5ec66d81e2 fix(al): normalize paths at method entry for cross-platform compatibility
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.
2026-01-20 02:09:29 +01:00
Torben Leth d05d8b765f refactor(al): move extract_al_display_name into ALLanguageServer class
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.
2026-01-20 01:15:48 +01:00
Torben Leth b9f82774ce fix(al): guard against missing position in name cache storage
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.
2026-01-20 01:08:50 +01:00
Torben Leth 7af2fe3e2b feat(al): inject full object name into hover and add path normalization
- 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
2026-01-20 00:24:21 +01:00
Dominik Jain 18ab2cea9a Improve docstring explaining overrides in ls_specific_settings [skip ci] 2026-01-19 23:21:07 +01:00
Dominik Jain 93294a2b30 Fix healh-check assuming non-compact symbol overview
Fixes #958
2026-01-19 23:06:18 +01:00