diff --git a/TODO.md b/TODO.md index 911b90f..106688a 100644 --- a/TODO.md +++ b/TODO.md @@ -1,5 +1,8 @@ - [x] command autocompletion via `tab` (multiple presses cycles candidates) -- [ ] fix ruby linting for the vamp config file (see attached image) +- [x] fix ruby linting for the vamp config file (see attached image) +- [ ] execute terminal commands asynchronously using the `!` prefix (e.g. `!pwd`) and display the output in a floating window. + - while waiting on the result of the executed command, show a spinner in a new element right of the battery status in the top bar (top-right corner) + - indicate also the command that we're waiting on, maybe something like the first three characters (followed by ellipses if truncated), e.g. `pwd ` or if the command was `echo $PATH`, then `ech... `. - [ ] diff view: GitHub code review integration after the local review UX is usable. - publish local reviews explicitly: general PR comments, inline line/range comments, review summaries, approval, and requests for changes. - preserve explicit PR identity and reviewed commit IDs; validate anchors against GitHub's PR diff and recheck the PR head before submission. diff --git a/docs/configuration.md b/docs/configuration.md index f32b1cb..c85c22e 100644 --- a/docs/configuration.md +++ b/docs/configuration.md @@ -396,6 +396,24 @@ Only `command`, `extensions`, `initialization_options`, `settings`, and `servers Install Solargraph yourself with `gem install solargraph` in the project's Ruby environment. The Ruby preset launches `["solargraph", "stdio"]`, following [Solargraph's stdio integration](https://solargraph.org/guides/language-server), and uses [YARD annotations](https://solargraph.org/guides/yard) for type information. Explicit `command` overrides replace the entire argv: for a bundled installation, use `config.lsp["ruby"] = { command: ["bundle", "exec", "solargraph", "stdio"] }`; Vamp retains the `rb` extension but does not append `stdio` to your override. +**Config-file lint style:** Solargraph's RuboCop reporter discovers `.rubocop.yml` from the Ruby file's directory, not Vamp's workspace. A config under `~/.config/vamp/` therefore does not inherit this repository's policy. To keep double quotes, multiline trailing argument commas, commented-out settings without a space after `#`, and no required frozen-string header, place this `.rubocop.yml` beside `config.rb` (also for a custom `--config` path): + +```yaml +Style/StringLiterals: + EnforcedStyle: double_quotes + +Style/TrailingCommaInArguments: + EnforcedStyleForMultiline: comma + +Style/FrozenStringLiteralComment: + Enabled: false + +Layout/LeadingCommentSpace: + Enabled: false +``` + +Syntax errors and other lint checks remain enabled. Restart Vamp after changing the policy so Solargraph reloads it; the Ruby config itself need not change. + **Python (Astral):** install [ty](https://docs.astral.sh/ty/editors/) and [Ruff](https://docs.astral.sh/ruff/editors/setup/) yourself, for example with `uv tool install ty` and `uv tool install ruff`. The Python preset sends the same documents to both servers, uses ty for hover/definition, and merges type errors with Ruff lint diagnostics. Clearing or losing one server preserves the other's diagnostics. Formatting and code actions remain unsupported by Vamp. Use `servers` to customize the stack independently; order selects the hover/definition/completion server: