mirror of
https://github.com/gyoder/dots.git
synced 2026-04-02 20:25:46 +00:00
Compare commits
6 commits
915f72c35e
...
5fdb347da5
| Author | SHA1 | Date | |
|---|---|---|---|
| 5fdb347da5 | |||
| cda7057563 | |||
| 1c8f17847d | |||
| 9113546b49 | |||
| ed18e4e77d | |||
| c5f6c7a4c7 |
24 changed files with 425 additions and 20 deletions
|
|
@ -5,13 +5,14 @@ tap "gyoder/graceful-tap"
|
|||
|
||||
# Programming Languages
|
||||
brew "go"
|
||||
brew "rustup", postinstall: "${HOMEBREW_PREFIX}/opt/rustup/bin/rustup default stable && ${HOMEBREW_PREFIX}/opt/rustup/bin/rustup component add rust-analyzer"
|
||||
brew "rustup", postinstall: "${HOMEBREW_PREFIX}/opt/rustup/bin/rustup-init -y && ${HOMEBREW_PREFIX}/opt/rustup/bin/rustup component add rust-analyzer"
|
||||
brew "uv"
|
||||
brew "llvm"
|
||||
brew "cmake"
|
||||
brew "make"
|
||||
brew "node"
|
||||
brew "npm"
|
||||
brew "typescript"
|
||||
brew "typst"
|
||||
brew "zig"
|
||||
|
||||
|
|
@ -36,19 +37,23 @@ brew "codebook-lsp"
|
|||
go "golang.org/x/tools/gopls"
|
||||
brew "tinymist"
|
||||
brew "zls"
|
||||
brew "vscode-langservers-extracted"
|
||||
brew "typescript-language-server"
|
||||
brew "fish-lsp"
|
||||
|
||||
# Git Stuff
|
||||
brew "gh"
|
||||
brew "jj"
|
||||
|
||||
|
||||
|
||||
brew "tailscale"
|
||||
brew "sqlite"
|
||||
brew "asciinema"
|
||||
|
||||
# CLI Utils
|
||||
brew "ripgrep"
|
||||
brew "dust"
|
||||
brew "tree"
|
||||
brew "stow"
|
||||
brew "btop"
|
||||
|
||||
# Random
|
||||
brew "tailscale"
|
||||
brew "sqlite"
|
||||
brew "asciinema"
|
||||
|
||||
|
|
|
|||
1
fish/.config/fish/conf.d/rustup.fish
Normal file
1
fish/.config/fish/conf.d/rustup.fish
Normal file
|
|
@ -0,0 +1 @@
|
|||
source "$HOME/.cargo/env.fish"
|
||||
|
|
@ -44,8 +44,6 @@ else if test "$host" = "lee"
|
|||
fish_add_path ~/.local/bin
|
||||
end
|
||||
|
||||
source "$HOME/.cargo/env.fish" 2>/dev/null
|
||||
|
||||
set -gx HOMEBREW_BUNDLE_FILE "~/.config/Brewfile"
|
||||
|
||||
if test -d /home/linuxbrew/.linuxbrew
|
||||
|
|
|
|||
|
|
@ -97,6 +97,10 @@ git status --porcelain | awk '
|
|||
}
|
||||
}
|
||||
'
|
||||
unpushed=$(git rev-list @{u}..HEAD 2>/dev/null | wc -l | tr -d ' ')
|
||||
if [ -n "$unpushed" ] && [ "$unpushed" -gt 0 ]; then
|
||||
printf "\033[38;2;137;220;235m⇡%d " "$unpushed"
|
||||
fi
|
||||
'''
|
||||
when = 'git rev-parse --is-inside-work-tree 2>/dev/null && ! jj root 2>/dev/null'
|
||||
shell = ["sh"]
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
return {
|
||||
cmd = { 'astro-ls', '--stdio' },
|
||||
filetypes = { 'astro' },
|
||||
root_markers = { 'package.json', 'tsconfig.json', 'jsconfig.json', '.git' },
|
||||
root_markers = { 'package.json', 'tsconfig.json', 'jsconfig.json', '.git', '.jj' },
|
||||
init_options = {
|
||||
typescript = {
|
||||
tsdk = "./node_modules/typescript/lib"
|
||||
|
|
|
|||
|
|
@ -32,6 +32,7 @@ return {
|
|||
'Pipfile',
|
||||
'pyrightconfig.json',
|
||||
'.git',
|
||||
'.jj'
|
||||
},
|
||||
settings = {
|
||||
basedpyright = {
|
||||
|
|
|
|||
|
|
@ -17,7 +17,9 @@ return {
|
|||
'.clang-format',
|
||||
'compile_commands.json',
|
||||
'compile_flags.txt',
|
||||
'configure.ac' -- AutoTools
|
||||
'configure.ac', -- AutoTools
|
||||
'.git',
|
||||
'.jj'
|
||||
},
|
||||
single_file_support = true,
|
||||
capabilities = {
|
||||
|
|
|
|||
|
|
@ -36,5 +36,5 @@ return {
|
|||
'typst',
|
||||
'zig',
|
||||
},
|
||||
root_markers = { '.git', 'codebook.toml', '.codebook.toml' },
|
||||
root_markers = { '.git', '.jj', 'codebook.toml', '.codebook.toml' },
|
||||
}
|
||||
|
|
|
|||
|
|
@ -7,6 +7,7 @@ return {
|
|||
filetypes = { "go", "rust", "js", "ts", "html", "css", "json", "yaml", "markdown", "gitcommit", "typst", "lua", "htmlua", "c", "cpp", "arduino" },
|
||||
root_markers = {
|
||||
'.git',
|
||||
'.jj',
|
||||
'cspell.json',
|
||||
'.cspell.json',
|
||||
'cspell.json',
|
||||
|
|
|
|||
34
vim/.config/nvim/lsp/css.lua
Normal file
34
vim/.config/nvim/lsp/css.lua
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
---@brief
|
||||
---
|
||||
--- https://github.com/hrsh7th/vscode-langservers-extracted
|
||||
---
|
||||
--- `css-languageserver` can be installed via `npm`:
|
||||
---
|
||||
--- ```sh
|
||||
--- npm i -g vscode-langservers-extracted
|
||||
--- ```
|
||||
---
|
||||
--- Neovim does not currently include built-in snippets. `vscode-css-language-server` only provides completions when snippet support is enabled. To enable completion, install a snippet plugin and add the following override to your language client capabilities during setup.
|
||||
---
|
||||
--- ```lua
|
||||
--- --Enable (broadcasting) snippet capability for completion
|
||||
--- local capabilities = vim.lsp.protocol.make_client_capabilities()
|
||||
--- capabilities.textDocument.completion.completionItem.snippetSupport = true
|
||||
---
|
||||
--- vim.lsp.config('cssls', {
|
||||
--- capabilities = capabilities,
|
||||
--- })
|
||||
--- ```
|
||||
|
||||
---@type vim.lsp.Config
|
||||
return {
|
||||
cmd = { 'vscode-css-language-server', '--stdio' },
|
||||
filetypes = { 'css', 'scss', 'less' },
|
||||
init_options = { provideFormatter = true }, -- needed to enable formatting capabilities
|
||||
root_markers = { 'package.json', '.git', '.jj' },
|
||||
settings = {
|
||||
css = { validate = true },
|
||||
scss = { validate = true },
|
||||
less = { validate = true },
|
||||
},
|
||||
}
|
||||
221
vim/.config/nvim/lsp/eslint.lua
Normal file
221
vim/.config/nvim/lsp/eslint.lua
Normal file
|
|
@ -0,0 +1,221 @@
|
|||
--- @brief
|
||||
---
|
||||
--- https://github.com/hrsh7th/vscode-langservers-extracted
|
||||
---
|
||||
--- `vscode-eslint-language-server` is a linting engine for JavaScript / Typescript.
|
||||
--- It can be installed via `npm`:
|
||||
---
|
||||
--- ```sh
|
||||
--- npm i -g vscode-langservers-extracted
|
||||
--- ```
|
||||
---
|
||||
--- The default `on_attach` config provides the `LspEslintFixAll` command that can be used to format a document on save:
|
||||
--- ```lua
|
||||
--- local base_on_attach = vim.lsp.config.eslint.on_attach
|
||||
--- vim.lsp.config("eslint", {
|
||||
--- on_attach = function(client, bufnr)
|
||||
--- if not base_on_attach then return end
|
||||
---
|
||||
--- base_on_attach(client, bufnr)
|
||||
--- vim.api.nvim_create_autocmd("BufWritePre", {
|
||||
--- buffer = bufnr,
|
||||
--- command = "LspEslintFixAll",
|
||||
--- })
|
||||
--- end,
|
||||
--- })
|
||||
--- ```
|
||||
---
|
||||
--- See [vscode-eslint](https://github.com/microsoft/vscode-eslint/blob/55871979d7af184bf09af491b6ea35ebd56822cf/server/src/eslintServer.ts#L216-L229) for configuration options.
|
||||
---
|
||||
--- Messages handled in lspconfig: `eslint/openDoc`, `eslint/confirmESLintExecution`, `eslint/probeFailed`, `eslint/noLibrary`
|
||||
---
|
||||
--- Additional messages you can handle: `eslint/noConfig`
|
||||
---
|
||||
--- ### Monorepo support
|
||||
---
|
||||
--- `vscode-eslint-language-server` supports monorepos by default. It will automatically find the config file corresponding to the package you are working on. You can use different configs in different packages.
|
||||
--- This works without the need of spawning multiple instances of `vscode-eslint-language-server`.
|
||||
--- You can use a different version of ESLint in each package, but it is recommended to use the same version of ESLint in all packages. The location of the ESLint binary will be determined automatically.
|
||||
---
|
||||
--- /!\ When using flat config files, you need to use them across all your packages in your monorepo, as it's a global setting for the server.
|
||||
---
|
||||
--- ### Flat config in ESLint versions prior to 10.0
|
||||
---
|
||||
--- If you're using a ESLint version that supports both flat config and eslintrc (>= 8.21, < 10.0) and want to change
|
||||
--- the [default behavior](https://eslint.org/blog/2023/10/flat-config-rollout-plans/), you'll need to set
|
||||
--- `experimental.useFlatConfig` accordingly:
|
||||
--- ```lua
|
||||
--- vim.lsp.config("eslint", {
|
||||
--- settings = {
|
||||
--- experimental = {
|
||||
--- -- If you want to use flat config on >= 8.21, < 9.0
|
||||
--- useFlatConfig = true,
|
||||
--- -- Or if you want to use eslintrc on 9.*
|
||||
--- -- useFlatConfig = false,
|
||||
--- }
|
||||
--- }
|
||||
--- })
|
||||
--- ```
|
||||
|
||||
-- local util = require 'lspconfig.util'
|
||||
local lsp = vim.lsp
|
||||
|
||||
local eslint_config_files = {
|
||||
'.eslintrc',
|
||||
'.eslintrc.js',
|
||||
'.eslintrc.cjs',
|
||||
'.eslintrc.yaml',
|
||||
'.eslintrc.yml',
|
||||
'.eslintrc.json',
|
||||
'eslint.config.js',
|
||||
'eslint.config.mjs',
|
||||
'eslint.config.cjs',
|
||||
'eslint.config.ts',
|
||||
'eslint.config.mts',
|
||||
'eslint.config.cts',
|
||||
}
|
||||
|
||||
---@type vim.lsp.Config
|
||||
return {
|
||||
cmd = { 'vscode-eslint-language-server', '--stdio' },
|
||||
filetypes = {
|
||||
'javascript',
|
||||
'javascriptreact',
|
||||
'typescript',
|
||||
'typescriptreact',
|
||||
'vue',
|
||||
'svelte',
|
||||
'astro',
|
||||
'htmlangular',
|
||||
},
|
||||
workspace_required = true,
|
||||
-- on_attach = function(client, bufnr)
|
||||
-- vim.api.nvim_buf_create_user_command(bufnr, 'LspEslintFixAll', function()
|
||||
-- client:request_sync('workspace/executeCommand', {
|
||||
-- command = 'eslint.applyAllFixes',
|
||||
-- arguments = {
|
||||
-- {
|
||||
-- uri = vim.uri_from_bufnr(bufnr),
|
||||
-- version = lsp.util.buf_versions[bufnr],
|
||||
-- },
|
||||
-- },
|
||||
-- }, nil, bufnr)
|
||||
-- end, {})
|
||||
-- end,
|
||||
root_dir = function(bufnr, on_dir)
|
||||
-- The project root is where the LSP can be started from
|
||||
-- As stated in the documentation above, this LSP supports monorepos and simple projects.
|
||||
-- We select then from the project root, which is identified by the presence of a package
|
||||
-- manager lock file.
|
||||
local root_markers = { 'package-lock.json', 'yarn.lock', 'pnpm-lock.yaml', 'bun.lockb', 'bun.lock' }
|
||||
-- Give the root markers equal priority by wrapping them in a table
|
||||
root_markers = vim.fn.has('nvim-0.11.3') == 1 and { root_markers, { '.git', '.jj' } }
|
||||
or vim.list_extend(root_markers, { '.git' })
|
||||
|
||||
-- exclude deno
|
||||
if vim.fs.root(bufnr, { 'deno.json', 'deno.jsonc', 'deno.lock' }) then
|
||||
return
|
||||
end
|
||||
|
||||
-- We fallback to the current working directory if no project root is found
|
||||
local project_root = vim.fs.root(bufnr, root_markers) or vim.fn.getcwd()
|
||||
|
||||
-- We know that the buffer is using ESLint if it has a config file
|
||||
-- in its directory tree.
|
||||
--
|
||||
-- Eslint used to support package.json files as config files, but it doesn't anymore.
|
||||
-- We keep this for backward compatibility.
|
||||
-- local filename = vim.api.nvim_buf_get_name(bufnr)
|
||||
-- local eslint_config_files_with_package_json =
|
||||
-- util.insert_package_json(eslint_config_files, 'eslintConfig', filename)
|
||||
-- local is_buffer_using_eslint = vim.fs.find(eslint_config_files_with_package_json, {
|
||||
-- path = filename,
|
||||
-- type = 'file',
|
||||
-- limit = 1,
|
||||
-- upward = true,
|
||||
-- stop = vim.fs.dirname(project_root),
|
||||
-- })[1]
|
||||
-- if not is_buffer_using_eslint then
|
||||
-- return
|
||||
-- end
|
||||
|
||||
on_dir(project_root)
|
||||
end,
|
||||
-- Refer to https://github.com/Microsoft/vscode-eslint#settings-options for documentation.
|
||||
settings = {
|
||||
validate = 'on',
|
||||
---@diagnostic disable-next-line: assign-type-mismatch
|
||||
packageManager = nil,
|
||||
useESLintClass = false,
|
||||
experimental = {},
|
||||
codeActionOnSave = {
|
||||
enable = false,
|
||||
mode = 'all',
|
||||
},
|
||||
format = true,
|
||||
quiet = false,
|
||||
onIgnoredFiles = 'off',
|
||||
rulesCustomizations = {},
|
||||
run = 'onType',
|
||||
problems = {
|
||||
shortenToSingleLine = false,
|
||||
},
|
||||
-- nodePath configures the directory in which the eslint server should start its node_modules resolution.
|
||||
-- This path is relative to the workspace folder (root dir) of the server instance.
|
||||
nodePath = '',
|
||||
-- use the workspace folder location or the file location (if no workspace folder is open) as the working directory
|
||||
workingDirectory = { mode = 'auto' },
|
||||
codeAction = {
|
||||
disableRuleComment = {
|
||||
enable = true,
|
||||
location = 'separateLine',
|
||||
},
|
||||
showDocumentation = {
|
||||
enable = true,
|
||||
},
|
||||
},
|
||||
},
|
||||
before_init = function(_, config)
|
||||
-- The "workspaceFolder" is a VSCode concept. It limits how far the
|
||||
-- server will traverse the file system when locating the ESLint config
|
||||
-- file (e.g., .eslintrc).
|
||||
local root_dir = config.root_dir
|
||||
|
||||
if root_dir then
|
||||
config.settings = config.settings or {}
|
||||
config.settings.workspaceFolder = {
|
||||
uri = root_dir,
|
||||
name = vim.fn.fnamemodify(root_dir, ':t'),
|
||||
}
|
||||
|
||||
-- Support Yarn2 (PnP) projects
|
||||
local pnp_cjs = root_dir .. '/.pnp.cjs'
|
||||
local pnp_js = root_dir .. '/.pnp.js'
|
||||
if type(config.cmd) == 'table' and (vim.uv.fs_stat(pnp_cjs) or vim.uv.fs_stat(pnp_js)) then
|
||||
config.cmd = vim.list_extend({ 'yarn', 'exec' }, config.cmd --[[@as table]])
|
||||
end
|
||||
end
|
||||
end,
|
||||
handlers = {
|
||||
['eslint/openDoc'] = function(_, result)
|
||||
if result then
|
||||
vim.ui.open(result.url)
|
||||
end
|
||||
return {}
|
||||
end,
|
||||
['eslint/confirmESLintExecution'] = function(_, result)
|
||||
if not result then
|
||||
return
|
||||
end
|
||||
return 4 -- approved
|
||||
end,
|
||||
['eslint/probeFailed'] = function()
|
||||
vim.notify('[lspconfig] ESLint probe failed.', vim.log.levels.WARN)
|
||||
return {}
|
||||
end,
|
||||
['eslint/noLibrary'] = function()
|
||||
vim.notify('[lspconfig] Unable to find ESLint library.', vim.log.levels.WARN)
|
||||
return {}
|
||||
end,
|
||||
},
|
||||
}
|
||||
17
vim/.config/nvim/lsp/fish-lsp.lua
Normal file
17
vim/.config/nvim/lsp/fish-lsp.lua
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
---@brief
|
||||
---
|
||||
--- https://github.com/ndonfris/fish-lsp
|
||||
---
|
||||
--- A Language Server Protocol (LSP) tailored for the fish shell.
|
||||
--- This project aims to enhance the coding experience for fish,
|
||||
--- by introducing a suite of intelligent features like auto-completion,
|
||||
--- scope aware symbol analysis, per-token hover generation, and many others.
|
||||
---
|
||||
--- [homepage](https://www.fish-lsp.dev/)
|
||||
|
||||
---@type vim.lsp.Config
|
||||
return {
|
||||
cmd = { 'fish-lsp', 'start' },
|
||||
filetypes = { 'fish' },
|
||||
root_markers = { 'config.fish', '.git', '.jj' },
|
||||
}
|
||||
|
|
@ -5,5 +5,5 @@ local cmd = vim.lsp.rpc.connect('127.0.0.1', tonumber(port))
|
|||
return {
|
||||
cmd = cmd,
|
||||
filetypes = { 'gd', 'gdscript', 'gdscript3' },
|
||||
root_markers = { 'project.godot', '.git' },
|
||||
root_markers = { 'project.godot', '.git', '.jj' },
|
||||
}
|
||||
|
|
|
|||
|
|
@ -82,7 +82,7 @@ local function get_root_dir(fname)
|
|||
return clients[#clients].config.root_dir
|
||||
end
|
||||
end
|
||||
return vim.fs.root(fname, 'go.work') or vim.fs.root(fname, 'go.mod') or vim.fs.root(fname, '.git')
|
||||
return vim.fs.root(fname, 'go.work') or vim.fs.root(fname, 'go.mod') or vim.fs.root(fname, '.git') or vim.fs.root(fname, '.jj')
|
||||
end
|
||||
|
||||
return {
|
||||
|
|
|
|||
36
vim/.config/nvim/lsp/html.lua
Normal file
36
vim/.config/nvim/lsp/html.lua
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
---@brief
|
||||
---
|
||||
--- https://github.com/hrsh7th/vscode-langservers-extracted
|
||||
---
|
||||
--- `vscode-html-language-server` can be installed via `npm`:
|
||||
--- ```sh
|
||||
--- npm i -g vscode-langservers-extracted
|
||||
--- ```
|
||||
---
|
||||
--- Neovim does not currently include built-in snippets. `vscode-html-language-server` only provides completions when snippet support is enabled.
|
||||
--- To enable completion, install a snippet plugin and add the following override to your language client capabilities during setup.
|
||||
---
|
||||
--- The code-formatting feature of the lsp can be controlled with the `provideFormatter` option.
|
||||
---
|
||||
--- ```lua
|
||||
--- --Enable (broadcasting) snippet capability for completion
|
||||
--- local capabilities = vim.lsp.protocol.make_client_capabilities()
|
||||
--- capabilities.textDocument.completion.completionItem.snippetSupport = true
|
||||
---
|
||||
--- vim.lsp.config('html', {
|
||||
--- capabilities = capabilities,
|
||||
--- })
|
||||
--- ```
|
||||
|
||||
---@type vim.lsp.Config
|
||||
return {
|
||||
cmd = { 'vscode-html-language-server', '--stdio' },
|
||||
filetypes = { 'html' },
|
||||
root_markers = { 'package.json', '.git', '.jj' },
|
||||
settings = {},
|
||||
init_options = {
|
||||
provideFormatter = true,
|
||||
embeddedLanguages = { css = true, javascript = true },
|
||||
configurationSection = { 'html', 'css', 'javascript' },
|
||||
},
|
||||
}
|
||||
32
vim/.config/nvim/lsp/json.lua
Normal file
32
vim/.config/nvim/lsp/json.lua
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
---@brief
|
||||
---
|
||||
--- https://github.com/hrsh7th/vscode-langservers-extracted
|
||||
---
|
||||
--- vscode-json-language-server, a language server for JSON and JSON schema
|
||||
---
|
||||
--- `vscode-json-language-server` can be installed via `npm`:
|
||||
--- ```sh
|
||||
--- npm i -g vscode-langservers-extracted
|
||||
--- ```
|
||||
---
|
||||
--- `vscode-json-language-server` only provides completions when snippet support is enabled. If you use Neovim older than v0.10 you need to enable completion, install a snippet plugin and add the following override to your language client capabilities during setup.
|
||||
---
|
||||
--- ```lua
|
||||
--- --Enable (broadcasting) snippet capability for completion
|
||||
--- local capabilities = vim.lsp.protocol.make_client_capabilities()
|
||||
--- capabilities.textDocument.completion.completionItem.snippetSupport = true
|
||||
---
|
||||
--- vim.lsp.config('jsonls', {
|
||||
--- capabilities = capabilities,
|
||||
--- })
|
||||
--- ```
|
||||
|
||||
---@type vim.lsp.Config
|
||||
return {
|
||||
cmd = { 'vscode-json-language-server', '--stdio' },
|
||||
filetypes = { 'json', 'jsonc' },
|
||||
init_options = {
|
||||
provideFormatter = true,
|
||||
},
|
||||
root_markers = { '.git', '.jj' },
|
||||
}
|
||||
|
|
@ -32,6 +32,7 @@ return {
|
|||
'Pipfile',
|
||||
'pyrightconfig.json',
|
||||
'.git',
|
||||
'.jj'
|
||||
},
|
||||
settings = {
|
||||
python = {
|
||||
|
|
|
|||
35
vim/.config/nvim/lsp/ruff.lua
Normal file
35
vim/.config/nvim/lsp/ruff.lua
Normal file
|
|
@ -0,0 +1,35 @@
|
|||
---@brief
|
||||
---
|
||||
--- https://github.com/astral-sh/ruff
|
||||
---
|
||||
--- A Language Server Protocol implementation for Ruff, an extremely fast Python linter and code formatter, written in Rust. It can be installed via `pip`.
|
||||
---
|
||||
--- ```sh
|
||||
--- pip install ruff
|
||||
--- ```
|
||||
---
|
||||
--- **Available in Ruff `v0.4.5` in beta and stabilized in Ruff `v0.5.3`.**
|
||||
---
|
||||
--- This is the new built-in language server written in Rust. It supports the same feature set as `ruff-lsp`, but with superior performance and no installation required. Note that the `ruff-lsp` server will continue to be maintained until further notice.
|
||||
---
|
||||
--- Server settings can be provided via:
|
||||
---
|
||||
--- ```lua
|
||||
--- vim.lsp.config('ruff', {
|
||||
--- init_options = {
|
||||
--- settings = {
|
||||
--- -- Server settings should go here
|
||||
--- }
|
||||
--- }
|
||||
--- })
|
||||
--- ```
|
||||
---
|
||||
--- Refer to the [documentation](https://docs.astral.sh/ruff/editors/) for more details.
|
||||
|
||||
---@type vim.lsp.Config
|
||||
return {
|
||||
cmd = { 'ruff', 'server' },
|
||||
filetypes = { 'python' },
|
||||
root_markers = { 'pyproject.toml', 'ruff.toml', '.ruff.toml', '.git' },
|
||||
settings = {},
|
||||
}
|
||||
|
|
@ -18,5 +18,5 @@
|
|||
return {
|
||||
cmd = { 'superhtml', 'lsp' },
|
||||
filetypes = { 'superhtml', 'html', "htmldjango" },
|
||||
root_markers = { '.git' },
|
||||
root_markers = { '.git', '.jj' },
|
||||
}
|
||||
|
|
|
|||
|
|
@ -49,7 +49,7 @@ end
|
|||
return {
|
||||
cmd = { 'tinymist' },
|
||||
filetypes = { 'typst' },
|
||||
root_markers = { '.git' },
|
||||
root_markers = { '.git', '.jj' },
|
||||
on_attach = function(client, bufnr)
|
||||
for _, command in ipairs {
|
||||
'tinymist.exportSvg',
|
||||
|
|
|
|||
|
|
@ -1,5 +1,14 @@
|
|||
---@brief
|
||||
---
|
||||
--- https://github.com/astral-sh/ty
|
||||
---
|
||||
--- A Language Server Protocol implementation for ty, an extremely fast Python type checker and language server, written in Rust.
|
||||
---
|
||||
--- For installation instructions, please refer to the [ty documentation](https://github.com/astral-sh/ty/blob/main/README.md#getting-started).
|
||||
|
||||
---@type vim.lsp.Config
|
||||
return {
|
||||
cmd = { 'uvx', 'ty', 'server' },
|
||||
cmd = { 'ty', 'server' },
|
||||
filetypes = { 'python' },
|
||||
root_markers = { 'ty.toml', 'pyproject.toml', '.git' },
|
||||
root_markers = { 'ty.toml', 'pyproject.toml', 'setup.py', 'setup.cfg', 'requirements.txt', '.git', '.jj' },
|
||||
}
|
||||
|
|
|
|||
|
|
@ -7,6 +7,6 @@
|
|||
return {
|
||||
cmd = { 'zigscient' },
|
||||
filetypes = { 'zig', 'zir' },
|
||||
root_markers = { 'zls.json', 'build.zig', '.git' },
|
||||
root_markers = { 'zls.json', 'build.zig', '.git', '.jj' },
|
||||
workspace_required = false,
|
||||
}
|
||||
|
|
|
|||
|
|
@ -7,6 +7,6 @@
|
|||
return {
|
||||
cmd = { 'zls' },
|
||||
filetypes = { 'zig', 'zir' },
|
||||
root_markers = { 'zls.json', 'build.zig', '.git' },
|
||||
root_markers = { 'zls.json', 'build.zig', '.git', '.jj' },
|
||||
workspace_required = false,
|
||||
}
|
||||
|
|
|
|||
|
|
@ -24,6 +24,7 @@ vim.lsp.config('ty', {
|
|||
})
|
||||
|
||||
-- vim.lsp.enable("ty")
|
||||
vim.lsp.enable("ruff")
|
||||
|
||||
|
||||
|
||||
|
|
@ -79,6 +80,13 @@ vim.lsp.enable("csharp-ls")
|
|||
|
||||
vim.lsp.enable("asm-lsp")
|
||||
vim.lsp.enable("codebook")
|
||||
vim.lsp.enable("json")
|
||||
vim.lsp.enable("eslint")
|
||||
vim.lsp.enable("css")
|
||||
vim.lsp.enable("html")
|
||||
vim.lsp.enable("fish-lsp")
|
||||
|
||||
|
||||
|
||||
-- https://lsp-zero.netlify.app/blog/lsp-client-features.html
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue