Add detection and usage of user's custom Maven and Gradle configuration
files to allow JDTLS to respect user-specific build tool settings.
Changes:
- Detect and use ~/.m2/settings.xml for Maven user settings
- Detect and use ~/.gradle for Gradle user home directory
- Set Maven updateSnapshots to false for better performance
This enhancement allows JDTLS to:
- Use custom Maven repositories and mirrors
- Respect proxy and authentication configurations
- Apply user-specific build tool settings
- Improve initialization performance by disabling automatic snapshot updates
The implementation gracefully falls back to None if configuration files
don't exist, maintaining backward compatibility with existing setups.
Added an overview (landing page showing current and available config) and advanced stats windows, controlled by top-right menu
Stats calculation is no longer optional, but we use a trivial token estimator by default
at connection time (e.g. Claude Desktop)
Establish a "name" for the instructions (Serena Instructions Manual) such that the agent
can know whether it has read the instructions and therefore will know whether or not
the tool needs to be called
Implements JuliaLanguageServer with LanguageServer.jl integration.
Includes comprehensive tests and auto-detection of Julia installations.
Checks for LanguageServer.jl on startup and installs via Pkg.add if not found. Only runs once on first use.
Unlike other language servers, metals LS only works properly when the project has been compiled in a particular way. Compiling like this on the fly or in CI is unfeasible, so instead, we expect the user to setup and compile the project correctly when using Serena for scala. Extensive documentation has been added.
Scala tests exist, but we don't run them in CI. They have been executed manually on macOS and Windows, thereby verifying that after following the instructions, Scala support works in Serena.
when the project is activated at startup (ActivateProjectTool not applied)
Peripheral change: Move MemoriesManager into module 'project',
moving the instance into the Project instance, because memories are strictly
associated with the project
Fixes#681