init
This commit is contained in:
2
.gitignore
vendored
Normal file
2
.gitignore
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
/result
|
||||
/result-*
|
||||
3
README.md
Normal file
3
README.md
Normal file
@@ -0,0 +1,3 @@
|
||||
# Naxvim
|
||||
|
||||
My Neovim config using [Nixvim](https://github.com/nix-community/nixvim). Feel free to use this as inspiration for how to build your own.
|
||||
104
config.lua
Normal file
104
config.lua
Normal file
@@ -0,0 +1,104 @@
|
||||
vim.diagnostic.config({
|
||||
virtual_text = true,
|
||||
virtual_lines = false
|
||||
})
|
||||
|
||||
local change_scale_factor = function(change)
|
||||
local new_scale = vim.g.neovide_scale_factor + change
|
||||
if new_scale > 2 then
|
||||
new_scale = 2
|
||||
elseif new_scale < 0.2 then
|
||||
new_scale = 0.2
|
||||
end
|
||||
vim.g.neovide_scale_factor = new_scale
|
||||
end
|
||||
|
||||
vim.keymap.set("n", "<C-->", function()
|
||||
change_scale_factor(-0.1)
|
||||
end)
|
||||
|
||||
vim.keymap.set("n", "<C-=>", function()
|
||||
change_scale_factor(0.1)
|
||||
end)
|
||||
|
||||
require 'scrollbar'.setup()
|
||||
|
||||
require 'browsher'.setup({
|
||||
default_remote = 'origin',
|
||||
default_pin = 'commit',
|
||||
open_cmd = '+',
|
||||
providers = {
|
||||
["github.com"] = {
|
||||
url_template = "%s/blob/%s/%s",
|
||||
single_line_format = "#L%d",
|
||||
multi_line_format = "#L%d-L%d",
|
||||
},
|
||||
["gitlab.com"] = {
|
||||
url_template = "%s/-/blob/%s/%s",
|
||||
single_line_format = "#L%d",
|
||||
multi_line_format = "#L%d-%d",
|
||||
},
|
||||
["git.naxdy.org"] = {
|
||||
url_template = "%s/src/commit/%s/%s",
|
||||
single_line_format = "#L%d",
|
||||
multi_line_format = "#L%d-L%d",
|
||||
},
|
||||
},
|
||||
})
|
||||
|
||||
-- autosave
|
||||
local group = vim.api.nvim_create_augroup('autosave', {})
|
||||
|
||||
vim.api.nvim_create_autocmd('User', {
|
||||
pattern = 'AutoSaveWritePre',
|
||||
group = group,
|
||||
callback = function(opts)
|
||||
if opts.data.saved_buffer ~= nil and not (require 'lsp-format'.disabled) then
|
||||
vim.lsp.buf.format({
|
||||
bufnr = opts.data.saved_buffer
|
||||
})
|
||||
end
|
||||
end
|
||||
})
|
||||
|
||||
local ngroup = vim.api.nvim_create_augroup('Naxdy', {})
|
||||
|
||||
-- exrc at home because vim.o.exrc doesn't work for some reason
|
||||
local joinpath = vim.fs.joinpath or function(...)
|
||||
return (table.concat({ ... }, '/'):gsub('//+', '/'))
|
||||
end
|
||||
|
||||
vim.api.nvim_create_autocmd('VimEnter', {
|
||||
group = ngroup,
|
||||
desc = 'Load init file on startup',
|
||||
callback = function()
|
||||
local cwd = vim.fn.getcwd(-1, -1)
|
||||
local exrc = joinpath(cwd, '.nvim.lua')
|
||||
local exists = vim.fn.filereadable(exrc) == 1
|
||||
if exists then
|
||||
local data = vim.secure.read(exrc)
|
||||
if data then
|
||||
local ok, result = xpcall(vim.cmd.source, debug.traceback, exrc)
|
||||
if not ok then
|
||||
error(result)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
})
|
||||
|
||||
|
||||
-- treat tfstate files as json
|
||||
local tfstate_to_json = {
|
||||
group = ngroup,
|
||||
desc = 'Set syntax to JSON for TF files',
|
||||
callback = function()
|
||||
local filename = vim.fn.expand('%')
|
||||
if vim.endswith(filename, ".tfstate") then
|
||||
vim.opt.syntax = 'json'
|
||||
end
|
||||
end
|
||||
}
|
||||
|
||||
vim.api.nvim_create_autocmd('BufNewFile', tfstate_to_json)
|
||||
vim.api.nvim_create_autocmd('BufRead', tfstate_to_json)
|
||||
355
flake.lock
generated
Normal file
355
flake.lock
generated
Normal file
@@ -0,0 +1,355 @@
|
||||
{
|
||||
"nodes": {
|
||||
"devshell": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"nixvim",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1735644329,
|
||||
"narHash": "sha256-tO3HrHriyLvipc4xr+Ewtdlo7wM1OjXNjlWRgmM7peY=",
|
||||
"owner": "numtide",
|
||||
"repo": "devshell",
|
||||
"rev": "f7795ede5b02664b57035b3b757876703e2c3eac",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "numtide",
|
||||
"repo": "devshell",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-compat": {
|
||||
"locked": {
|
||||
"lastModified": 1733328505,
|
||||
"narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=",
|
||||
"rev": "ff81ac966bb2cae68946d5ed5fc4994f96d0ffec",
|
||||
"revCount": 69,
|
||||
"type": "tarball",
|
||||
"url": "https://api.flakehub.com/f/pinned/edolstra/flake-compat/1.1.0/01948eb7-9cba-704f-bbf3-3fa956735b52/source.tar.gz"
|
||||
},
|
||||
"original": {
|
||||
"type": "tarball",
|
||||
"url": "https://flakehub.com/f/edolstra/flake-compat/1.tar.gz"
|
||||
}
|
||||
},
|
||||
"flake-parts": {
|
||||
"inputs": {
|
||||
"nixpkgs-lib": [
|
||||
"nixvim",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1738453229,
|
||||
"narHash": "sha256-7H9XgNiGLKN1G1CgRh0vUL4AheZSYzPm+zmZ7vxbJdo=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"rev": "32ea77a06711b758da0ad9bd6a844c5740a87abd",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-utils": {
|
||||
"inputs": {
|
||||
"systems": "systems"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1731533236,
|
||||
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-utils_2": {
|
||||
"inputs": {
|
||||
"systems": "systems_2"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1731533236,
|
||||
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"git-hooks": {
|
||||
"inputs": {
|
||||
"flake-compat": [
|
||||
"nixvim",
|
||||
"flake-compat"
|
||||
],
|
||||
"gitignore": "gitignore",
|
||||
"nixpkgs": [
|
||||
"nixvim",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1737465171,
|
||||
"narHash": "sha256-R10v2hoJRLq8jcL4syVFag7nIGE7m13qO48wRIukWNg=",
|
||||
"owner": "cachix",
|
||||
"repo": "git-hooks.nix",
|
||||
"rev": "9364dc02281ce2d37a1f55b6e51f7c0f65a75f17",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "cachix",
|
||||
"repo": "git-hooks.nix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"gitignore": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"nixvim",
|
||||
"git-hooks",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1709087332,
|
||||
"narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "gitignore.nix",
|
||||
"rev": "637db329424fd7e46cf4185293b9cc8c88c95394",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hercules-ci",
|
||||
"repo": "gitignore.nix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"home-manager": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"nixvim",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1738448366,
|
||||
"narHash": "sha256-4ATtQqBlgsGqkHTemta0ydY6f7JBRXz4Hf574NHQpkg=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "18fa9f323d8adbb0b7b8b98a8488db308210ed93",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"ixx": {
|
||||
"inputs": {
|
||||
"flake-utils": [
|
||||
"nixvim",
|
||||
"nuschtosSearch",
|
||||
"flake-utils"
|
||||
],
|
||||
"nixpkgs": [
|
||||
"nixvim",
|
||||
"nuschtosSearch",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1729958008,
|
||||
"narHash": "sha256-EiOq8jF4Z/zQe0QYVc3+qSKxRK//CFHMB84aYrYGwEs=",
|
||||
"owner": "NuschtOS",
|
||||
"repo": "ixx",
|
||||
"rev": "9fd01aad037f345350eab2cd45e1946cc66da4eb",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NuschtOS",
|
||||
"ref": "v0.0.6",
|
||||
"repo": "ixx",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nix-darwin": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"nixvim",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1738277753,
|
||||
"narHash": "sha256-iyFcCOk0mmDiv4ut9mBEuMxMZIym3++0qN1rQBg8FW0=",
|
||||
"owner": "lnl7",
|
||||
"repo": "nix-darwin",
|
||||
"rev": "49b807fa7c37568d7fbe2aeaafb9255c185412f9",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "lnl7",
|
||||
"repo": "nix-darwin",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1738680400,
|
||||
"narHash": "sha256-ooLh+XW8jfa+91F1nhf9OF7qhuA/y1ChLx6lXDNeY5U=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "799ba5bffed04ced7067a91798353d360788b30d",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nixos",
|
||||
"ref": "nixos-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_2": {
|
||||
"locked": {
|
||||
"lastModified": 1738422722,
|
||||
"narHash": "sha256-Q4vhtbLYWBUnjWD4iQb003Lt+N5PuURDad1BngGKdUs=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "102a39bfee444533e6b4e8611d7e92aa39b7bec1",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixpkgs-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixvim": {
|
||||
"inputs": {
|
||||
"devshell": "devshell",
|
||||
"flake-compat": "flake-compat",
|
||||
"flake-parts": "flake-parts",
|
||||
"git-hooks": "git-hooks",
|
||||
"home-manager": "home-manager",
|
||||
"nix-darwin": "nix-darwin",
|
||||
"nixpkgs": "nixpkgs_2",
|
||||
"nuschtosSearch": "nuschtosSearch",
|
||||
"treefmt-nix": "treefmt-nix"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1738622717,
|
||||
"narHash": "sha256-XSFbbhN8xdr4qKRFbubXJ3vkSusKSnALf69G9fdGPXE=",
|
||||
"owner": "nix-community",
|
||||
"repo": "nixvim",
|
||||
"rev": "6288354d43ada972480cbd10dc7102637eeafc1e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"repo": "nixvim",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nuschtosSearch": {
|
||||
"inputs": {
|
||||
"flake-utils": "flake-utils_2",
|
||||
"ixx": "ixx",
|
||||
"nixpkgs": [
|
||||
"nixvim",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1738508923,
|
||||
"narHash": "sha256-4DaDrQDAIxlWhTjH6h/+xfG05jt3qDZrZE/7zDLQaS4=",
|
||||
"owner": "NuschtOS",
|
||||
"repo": "search",
|
||||
"rev": "86e2038290859006e05ca7201425ea5b5de4aecb",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NuschtOS",
|
||||
"repo": "search",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"root": {
|
||||
"inputs": {
|
||||
"flake-utils": "flake-utils",
|
||||
"nixpkgs": "nixpkgs",
|
||||
"nixvim": "nixvim"
|
||||
}
|
||||
},
|
||||
"systems": {
|
||||
"locked": {
|
||||
"lastModified": 1681028828,
|
||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"systems_2": {
|
||||
"locked": {
|
||||
"lastModified": 1681028828,
|
||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"treefmt-nix": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"nixvim",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1738070913,
|
||||
"narHash": "sha256-j6jC12vCFsTGDmY2u1H12lMr62fnclNjuCtAdF1a4Nk=",
|
||||
"owner": "numtide",
|
||||
"repo": "treefmt-nix",
|
||||
"rev": "bebf27d00f7d10ba75332a0541ac43676985dea3",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "numtide",
|
||||
"repo": "treefmt-nix",
|
||||
"type": "github"
|
||||
}
|
||||
}
|
||||
},
|
||||
"root": "root",
|
||||
"version": 7
|
||||
}
|
||||
37
flake.nix
Normal file
37
flake.nix
Normal file
@@ -0,0 +1,37 @@
|
||||
{
|
||||
description = "Naxdy's Neovim configuration using nixvim";
|
||||
|
||||
inputs = {
|
||||
nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable";
|
||||
|
||||
flake-utils.url = "github:numtide/flake-utils";
|
||||
|
||||
nixvim.url = "github:nix-community/nixvim";
|
||||
};
|
||||
|
||||
outputs =
|
||||
{
|
||||
self,
|
||||
nixpkgs,
|
||||
flake-utils,
|
||||
nixvim,
|
||||
}:
|
||||
flake-utils.lib.eachDefaultSystem (
|
||||
system:
|
||||
let
|
||||
pkgs = import nixpkgs {
|
||||
inherit system;
|
||||
overlays = [
|
||||
nixvim.overlays.default
|
||||
];
|
||||
};
|
||||
in
|
||||
{
|
||||
packages = {
|
||||
default = self.packages.${system}.naxvim;
|
||||
|
||||
naxvim = pkgs.callPackage ./package.nix { };
|
||||
};
|
||||
}
|
||||
);
|
||||
}
|
||||
134
highlights.lua
Normal file
134
highlights.lua
Normal file
@@ -0,0 +1,134 @@
|
||||
require('telescope').load_extension('dap')
|
||||
|
||||
local hl = vim.api.nvim_set_hl
|
||||
local c = require('vscode.colors').get_colors()
|
||||
|
||||
-- General
|
||||
hl(0, 'Function', { fg = c.vscYellowOrange, bg = 'NONE' })
|
||||
hl(0, 'jsFuncCall', { fg = c.vscYellowOrange, bg = 'NONE' })
|
||||
hl(0, '@function', { fg = c.vscYellowOrange, bg = 'NONE' })
|
||||
hl(0, '@function.builtin', { fg = c.vscYellowOrange, bg = 'NONE' })
|
||||
hl(0, '@function.macro', { fg = c.vscYellowOrange, bg = 'NONE' })
|
||||
hl(0, '@function.method', { fg = c.vscYellowOrange, bg = 'NONE' })
|
||||
hl(0, 'typescriptDecorator', { fg = c.vscYellowOrange, bg = 'NONE' })
|
||||
hl(0, 'SpecialChar', { fg = c.vscYellowOrange, bg = 'NONE' })
|
||||
hl(0, 'Statement', { fg = c.vscBlue, bg = 'NONE' })
|
||||
hl(0, '@operator', { fg = c.vscBlue, bg = 'NONE' })
|
||||
hl(0, 'Conditional', { fg = c.vscBlue, bg = 'NONE' })
|
||||
hl(0, '@keyword.conditional', { fg = c.vscBlue, bg = 'NONE' })
|
||||
hl(0, 'Keyword', { fg = c.vscBlue, bg = 'NONE' })
|
||||
hl(0, '@keyword.return', { fg = c.vscBlue, bg = 'NONE' })
|
||||
hl(0, '@keyword.import', { fg = c.vscBlue, bg = 'NONE' })
|
||||
hl(0, '@keyword.repeat', { fg = c.vscBlue, bg = 'NONE' })
|
||||
hl(0, '@lsp.typemod.keyword.controlFlow', { fg = c.vscBlue, bg = 'NONE' })
|
||||
hl(0, '@keyword.exception', { fg = c.vscBlue, bg = 'NONE' })
|
||||
hl(0, 'Operator', { fg = c.vscBlue, bg = 'NONE' })
|
||||
hl(0, '@variable', { fg = c.vscYellow, bg = 'NONE' })
|
||||
hl(0, '@variable.parameter', { fg = c.vscYellow, bg = 'NONE' })
|
||||
hl(0, '@constant', { fg = c.vscDisabledBlue, bg = 'NONE' })
|
||||
|
||||
-- Regex
|
||||
hl(0, '@punctuation.bracket.regex', { link = 'String' })
|
||||
hl(0, '@punctuation.delimiter.regex', { link = 'String' })
|
||||
hl(0, '@string.escape.regex', { link = 'String' })
|
||||
|
||||
-- Bash
|
||||
hl(0, '@variable.builtin.bash', { link = '@variable' })
|
||||
|
||||
-- Typescript
|
||||
hl(0, '@attribute.typescript', { fg = c.vscYellowOrange, bg = 'NONE' })
|
||||
hl(0, 'typescriptExport', { fg = c.vscBlue, bg = 'NONE' })
|
||||
hl(0, 'typescriptBinaryOp', { fg = c.vscBlue, bg = 'NONE' })
|
||||
hl(0, 'typescriptTemplateSB', { fg = c.vscBlue, bg = 'NONE' })
|
||||
hl(0, 'typescriptAssign', { fg = c.vscBlue, bg = 'NONE' })
|
||||
hl(0, 'typescriptImport', { fg = c.vscBlue, bg = 'NONE' })
|
||||
hl(0, 'typescriptCastKeyword', { fg = c.vscBlue, bg = 'NONE' })
|
||||
hl(0, 'typescriptTypeAnnotation', { fg = c.vscBlue, bg = 'NONE' })
|
||||
hl(0, 'typescriptCall', { fg = c.vscFront, bg = 'NONE' })
|
||||
hl(0, 'typescriptClassBlock', { fg = c.vscFront, bg = 'NONE' })
|
||||
hl(0, 'typescriptBlock', { fg = c.vscFront, bg = 'NONE' })
|
||||
hl(0, 'typescriptFuncComma', { fg = c.vscFront, bg = 'NONE' })
|
||||
hl(0, 'typescriptIdentifierName', { fg = c.vscBlueGreen, bg = 'NONE' })
|
||||
hl(0, '@lsp.type.enumMember.typescript', { fg = c.vscYellowOrange, bg = 'NONE' })
|
||||
hl(0, '@lsp.type.enumMember.typescriptreact', { fg = c.vscYellowOrange, bg = 'NONE' })
|
||||
hl(0, '@lsp.typemod.type.defaultLibrary.typescript', { fg = c.vscBlueGreen, bg = 'NONE' })
|
||||
hl(0, '@punctuation.special.typescript', { fg = c.vscBlue, bg = 'NONE' })
|
||||
hl(0, '@lsp.typemod.variable.readonly.typescript', { link = '@variable' })
|
||||
hl(0, '@lsp.typemod.property.readonly.typescript', {})
|
||||
hl(0, '@punctuation.delimiter.jsdoc', {})
|
||||
hl(0, '@lsp.typemod.variable.readonly.typescriptreact', { link = '@variable' })
|
||||
hl(0, '@constant.typescript', { link = '@variable' })
|
||||
hl(0, '@punctuation.special.tsx', { fg = c.vscBlue, bg = 'NONE' })
|
||||
hl(0, '@i18n.t', { fg = c.vscDimHighlight, bg = 'NONE' })
|
||||
|
||||
-- nix
|
||||
hl(0, 'nixFunctionCall', { fg = c.vscYellow, bg = 'NONE' })
|
||||
hl(0, 'nixInterpolation', { fg = c.vscYellow, bg = 'NONE' })
|
||||
hl(0, 'nixInterpolationParam', { fg = c.vscYellow, bg = 'NONE' })
|
||||
hl(0, 'nixStringDelimiter', { link = 'String' })
|
||||
hl(0, 'nixSimpleStringSpecial', { fg = c.vscBlue, bg = 'NONE' })
|
||||
hl(0, 'nixInterpolationDelimiter', { fg = c.vscBlue, bg = 'NONE' })
|
||||
hl(0, 'nixNamespacedBuiltin', { fg = c.vscYellowOrange, bg = 'NONE' })
|
||||
hl(0, 'nixSimpleBuiltin', { fg = c.vscYellowOrange, bg = 'NONE' })
|
||||
hl(0, 'nixBuiltin', { fg = c.vscBlueGreen, bg = 'NONE' })
|
||||
hl(0, 'nixOperator', { fg = c.vscBlue, bg = 'NONE' })
|
||||
hl(0, 'nixInteger', { fg = c.vscLightGreen, bg = 'NONE' })
|
||||
hl(0, '@lsp.type.path.nix', { fg = c.vscPink, bg = 'NONE' })
|
||||
hl(0, '@punctuation.special.nix', { fg = c.vscBlue, bg = 'NONE' })
|
||||
|
||||
-- JavaScript
|
||||
hl(0, 'javaScriptBraces', { fg = c.vscFront, bg = 'NONE' })
|
||||
hl(0, 'javaScriptExport', { fg = c.vscBlue, bg = 'NONE' })
|
||||
hl(0, 'javaScriptBinaryOp', { fg = c.vscBlue, bg = 'NONE' })
|
||||
hl(0, 'javaScriptTemplateSB', { fg = c.vscBlue, bg = 'NONE' })
|
||||
hl(0, 'javaScriptAssign', { fg = c.vscBlue, bg = 'NONE' })
|
||||
hl(0, 'javaScriptImport', { fg = c.vscBlue, bg = 'NONE' })
|
||||
hl(0, 'javaScriptCastKeyword', { fg = c.vscBlue, bg = 'NONE' })
|
||||
hl(0, 'javaScriptTypeAnnotation', { fg = c.vscBlue, bg = 'NONE' })
|
||||
hl(0, 'javaScriptCall', { fg = c.vscFront, bg = 'NONE' })
|
||||
hl(0, 'javaScriptClassBlock', { fg = c.vscFront, bg = 'NONE' })
|
||||
hl(0, 'javaScriptBlock', { fg = c.vscFront, bg = 'NONE' })
|
||||
hl(0, 'javaScriptIdentifierName', { fg = c.vscBlueGreen, bg = 'NONE' })
|
||||
hl(0, '@lsp.type.enumMember.javascript', { fg = c.vscYellowOrange, bg = 'NONE' })
|
||||
hl(0, '@lsp.typemod.variable.readonly.javascript', { fg = c.vscYellow, bg = 'NONE' })
|
||||
hl(0, '@lsp.typemod.property.readonly.javascript', {})
|
||||
hl(0, '@lsp.typemod.type.defaultLibrary.javascript', { fg = c.vscBlueGreen, bg = 'NONE' })
|
||||
|
||||
-- svelte
|
||||
hl(0, '@lsp.typemod.variable.readonly.svelte', { link = '@variable' })
|
||||
hl(0, '@lsp.typemod.property.readonly.svelte', {})
|
||||
hl(0, '@tag.attribute.control.svelte', { fg = c.vscBlue, bg = 'NONE' })
|
||||
hl(0, '@tag.attribute.control.svelte.property', { fg = c.vscLightBlue, bg = 'NONE' })
|
||||
hl(0, '@punctuation.bracket.svelte', { fg = c.vscBlue, bg = 'NONE' })
|
||||
|
||||
-- rust
|
||||
hl(0, '@lsp.type.static.rust', { link = '@variable' })
|
||||
hl(0, '@lsp.type.macro.rust', { link = 'Macro' })
|
||||
hl(0, '@lsp.type.const.rust', { link = '@constant' })
|
||||
hl(0, '@lsp.typemod.attributeBracket.attribute.rust', { fg = c.vscBlueGreen, bg = 'NONE' })
|
||||
hl(0, 'rustAttribute', { fg = c.vscBlueGreen, bg = 'NONE' })
|
||||
hl(0, 'rustModPath', { fg = c.vscBlueGreen, bg = 'NONE' })
|
||||
hl(0, 'rustMacroVariable', { fg = c.vscLightBlue, bg = 'NONE' })
|
||||
hl(0, 'rustMacroRepeatDelimiters', { fg = c.vscBlue, bg = 'NONE' })
|
||||
hl(0, '@lsp.type.formatSpecifier.rust', { fg = c.vscBlue, bg = 'NONE' })
|
||||
hl(0, '@lsp.type.lifetime.rust', { link = 'Special' })
|
||||
hl(0, '@string.escape.rust', { link = 'Special' })
|
||||
hl(0, '@lsp.type.enumMember.rust', { fg = c.vscYellowOrange, bg = 'NONE' })
|
||||
hl(0, '@function.macro.rust', {})
|
||||
hl(0, '@punctuation.delimiter.rust', {})
|
||||
hl(0, '@variable.rust', {})
|
||||
hl(0, '@tparams.rust', { fg = c.vscFront, bg = 'NONE' })
|
||||
hl(0, '@lsp.type.builtinType.rust', { fg = c.vscBlue, bg = 'NONE' })
|
||||
hl(0, '@closure.rust', { fg = c.vscBlue, bg = 'NONE' })
|
||||
hl(0, '@lsp.typemod.decorator.attribute.rust', { link = '@attribute' })
|
||||
hl(0, '@lsp.typemod.method.attribute.rust', { link = '@function.method' })
|
||||
hl(0, '@lsp.typemod.method.mutable.rust', { underline = false })
|
||||
hl(0, '@lsp.typemod.selfKeyword.mutable.rust', { underline = true })
|
||||
hl(0, '@lsp.typemod.parameter.mutable.rust', { underline = true })
|
||||
hl(0, '@lsp.typemod.variable.mutable.rust', { underline = true })
|
||||
hl(0, '@lsp.typemod.static.mutable.rust', { underline = true })
|
||||
hl(0, '@lsp.typemod.deriveHelper.library.rust', { fg = c.vscBlueGreen, bg = 'NONE' })
|
||||
hl(0, '@lsp.typemod.deriveHelper.attribute.rust', { fg = c.vscBlueGreen, bg = 'NONE' })
|
||||
hl(0, 'rustDerive', {})
|
||||
hl(0, 'preProc', {})
|
||||
hl(0, '@lsp.typemod.procMacro.library.rust', { link = 'Macro' })
|
||||
24
lspconfig.lua
Normal file
24
lspconfig.lua
Normal file
@@ -0,0 +1,24 @@
|
||||
if client.workspace_folders then
|
||||
local path = client.workspace_folders[1].name
|
||||
if vim.uv.fs_stat(path .. '/.luarc.json') or vim.uv.fs_stat(path .. '/.luarc.jsonc') then
|
||||
return
|
||||
end
|
||||
end
|
||||
|
||||
client.config.settings.Lua = vim.tbl_deep_extend('force', client.config.settings.Lua or {}, {
|
||||
runtime = {
|
||||
-- Tell the language server which version of Lua you're using
|
||||
-- (most likely LuaJIT in the case of Neovim)
|
||||
version = 'LuaJIT'
|
||||
},
|
||||
-- Make the server aware of Neovim runtime files
|
||||
workspace = {
|
||||
checkThirdParty = false,
|
||||
library = {
|
||||
vim.env.VIMRUNTIME
|
||||
-- Depending on the usage, you might want to add additional paths here.
|
||||
-- "${3rd}/luv/library"
|
||||
-- "${3rd}/busted/library",
|
||||
}
|
||||
}
|
||||
})
|
||||
1229
package.nix
Normal file
1229
package.nix
Normal file
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user