diff options
-rw-r--r-- | .config/nvim/init.lua | 182 | ||||
-rw-r--r-- | .gitmodules | 19 | ||||
-rwxr-xr-x | .local/bin/http-static | 40 | ||||
m--------- | .local/share/nvim/site/pack/plugins/start/fidget.nvim | 0 | ||||
m--------- | .local/share/nvim/site/pack/plugins/start/lazydev | 0 | ||||
m--------- | .local/share/nvim/site/pack/plugins/start/mason-lspconfig | 0 | ||||
m--------- | .local/share/nvim/site/pack/plugins/start/nvim-cmp | 0 | ||||
m--------- | .local/share/nvim/site/pack/plugins/start/nvim-cmp-lsp | 0 | ||||
m--------- | .local/share/nvim/site/pack/plugins/start/nvim-lspconfig | 0 |
9 files changed, 59 insertions, 182 deletions
diff --git a/.config/nvim/init.lua b/.config/nvim/init.lua index f2d40b9..4fda0df 100644 --- a/.config/nvim/init.lua +++ b/.config/nvim/init.lua @@ -33,13 +33,8 @@ vim.o.laststatus = 2 vim.o.statusline = "%!v:lua.require'lines'.status()" vim.o.tabline = "%!v:lua.require'lines'.tab()" vim.o.signcolumn = 'yes' -vim.opt.fillchars = { - foldopen = "⌵", - foldclose = "›", - eob = " " -} -vim.o.completeopt = "menuone,noinsert,popup,fuzzy" +vim.o.completeopt = "menuone,noselect,popup,fuzzy" vim.o.showtabline = 2 vim.cmd.colorscheme 'retrobox' @@ -75,13 +70,13 @@ for _, value in ipairs({ vim.keymap.set({ 'n', 'i' }, value, '<Nop>', { noremap = true, silent = false }) end -require 'nvim-treesitter.configs'.setup { - highlight = { - enable = true, - }, - indent = { enable = true }, - auto_install = true, -} +require 'mason'.setup {} + +vim.api.nvim_create_autocmd('FileType', { + callback = function(args) + pcall(vim.treesitter.start, args.buf, args.match) + end +}) vim.keymap.set('n', '<leader>q', function() vim.diagnostic.setloclist() @@ -91,11 +86,8 @@ vim.diagnostic.config { virtual_lines = true, } -require 'conform'.setup {} - -vim.o.formatexpr = "v:lua.require'conform'.formatexpr()" vim.keymap.set('n', '<leader>f', function() - require('conform').format { async = true, lsp_format = "fallback", } + vim.lsp.buf.format { async = true } end) vim.api.nvim_create_user_command("Format", function(args) @@ -107,7 +99,7 @@ vim.api.nvim_create_user_command("Format", function(args) ["end"] = { args.line2, end_line:len() }, } end - require("conform").format { async = true, lsp_format = "fallback", range = range } + vim.lsp.buf.format { async = true, range = range } end, { range = true }) vim.keymap.set({ 'n', 'v' }, 'grl', function() @@ -156,7 +148,12 @@ vim.api.nvim_create_autocmd('LspAttach', { end if client:supports_method('textDocument/completion') then - vim.lsp.completion.enable(true, ev.data.client_id, ev.buf, { autotrigger = true }) + local chars = {} + for i = 32, 126 do + table.insert(chars, string.char(i)) + end + client.server_capabilities.completionProvider.triggerCharacters = chars + vim.lsp.completion.enable(true, client.id, ev.buf, { autotrigger = true }) end if client:supports_method('textDocument/documentHighlight') then @@ -202,137 +199,20 @@ vim.api.nvim_create_autocmd('LspAttach', { end, }) ---- Setup LSP Server with lspconfig and nvim-cmp ----@param server_name string ----@param settings ?lspconfig.Config -local function setupLSP(server_name, settings) - settings = settings or {} - settings.capabilities = vim.tbl_deep_extend( - "force", - {}, - vim.lsp.protocol.make_client_capabilities() - -- require 'cmp_nvim_lsp'.default_capabilities() - ) - require "lspconfig"[server_name].setup(settings) -end - +vim.lsp.config('*', { + root_markers = { '.git' } +}) -require 'mason'.setup {} -require 'mason-lspconfig'.setup { - ensure_installed = { 'lua_ls' }, - handlers = { - function(server_name) - setupLSP(server_name) - end, - lua_ls = function() - setupLSP("lua_ls", { - settings = { - Lua = { - runtime = { - version = 'LuaJIT' - }, - workspace = { - library = vim.api.nvim_get_runtime_file("", true) - }, - completion = { - callSnippet = 'Replace', - }, - diagnostics = { - disable = { 'missing-fields' } - }, - hint = { - enable = true - } - }, - } - }) - end, - gopls = function() - setupLSP("gopls", { - settings = { - gopls = { - hints = { - rangeVariableTypes = true, - parameterNames = true, - constantValues = true, - assignVariableTypes = true, - compositeLiteralFields = true, - compositeLiteralTypes = true, - functionTypeParameters = true, - }, - }, - } - }) - end, - clangd = function() - setupLSP("clangd", { - settings = { - clangd = { - InlayHints = { - Designators = true, - Enabled = true, - ParameterNames = true, - DeducedTypes = true, - }, - fallbackFlags = { "-std=c++20" }, - }, - } - }) - end, - ts_ls = function() - setupLSP("ts_ls", { - settings = { - typescript = { - inlayHints = { - includeInlayParameterNameHints = "all", - includeInlayParameterNameHintsWhenArgumentMatchesName = false, - includeInlayFunctionParameterTypeHints = true, - includeInlayVariableTypeHints = true, - includeInlayVariableTypeHintsWhenTypeMatchesName = false, - includeInlayPropertyDeclarationTypeHints = true, - includeInlayFunctionLikeReturnTypeHints = true, - includeInlayEnumMemberValueHints = true, - }, - }, - javascript = { - inlayHints = { - includeInlayParameterNameHints = "all", - includeInlayParameterNameHintsWhenArgumentMatchesName = false, - includeInlayFunctionParameterTypeHints = true, - includeInlayVariableTypeHints = true, - includeInlayVariableTypeHintsWhenTypeMatchesName = false, - includeInlayPropertyDeclarationTypeHints = true, - includeInlayFunctionLikeReturnTypeHints = true, - includeInlayEnumMemberValueHints = true, - }, - }, - } - }) - end, - rust_analyzer = function() end, - } +vim.lsp.enable { + "lua_ls", + "gopls", + "clangd", + "mesonlsp", + "ts_ls", + -- "eslint", + "html", + "cssls", + "jsonls", + "ruff", + -- "pyright", } - --- local cmp = require 'cmp' --- local cmp_select = { behavior = cmp.SelectBehavior.Select } --- --- cmp.setup { --- snippet = { --- expand = function(args) --- vim.snippet.expand(args.body) --- end, --- }, --- mapping = cmp.mapping.preset.insert({ --- ['<Up>'] = cmp.mapping.select_prev_item(cmp_select), --- ['<Down>'] = cmp.mapping.select_next_item(cmp_select), --- }), --- sources = cmp.config.sources({ --- { --- name = 'lazydev', --- group_index = 0, --- }, --- { name = 'nvim_lsp' }, --- }, { --- { name = 'buffer' }, --- }) --- } diff --git a/.gitmodules b/.gitmodules index ab26671..a77df98 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,6 +1,3 @@ -[submodule "nvim-lspconfig"] - path = .local/share/nvim/site/pack/plugins/start/nvim-lspconfig - url = https://github.com/neovim/nvim-lspconfig.git [submodule "nvim-treesitter"] path = .local/share/nvim/site/pack/plugins/start/nvim-treesitter url = https://github.com/nvim-treesitter/nvim-treesitter.git @@ -13,28 +10,12 @@ [submodule "rustaceanvim"] path = .local/share/nvim/site/pack/plugins/start/rustaceanvim url = https://github.com/mrcjkb/rustaceanvim -[submodule "nvim-cmp"] - path = .local/share/nvim/site/pack/plugins/start/nvim-cmp - url = https://github.com/hrsh7th/nvim-cmp -[submodule "nvim-cmp-lsp"] - path = .local/share/nvim/site/pack/plugins/start/nvim-cmp-lsp - url = https://github.com/hrsh7th/cmp-nvim-lsp [submodule "conform"] path = .local/share/nvim/site/pack/plugins/start/conform url = https://github.com/stevearc/conform.nvim -[submodule "fidget"] - path = .local/share/nvim/site/pack/plugins/start/fidget.nvim - url = https://github.com/j-hui/fidget.nvim [submodule "mason"] path = .local/share/nvim/site/pack/plugins/start/mason url = https://github.com/williamboman/mason.nvim -[submodule "mason-lspconfig"] - path = .local/share/nvim/site/pack/plugins/start/mason-lspconfig - url = https://github.com/williamboman/mason-lspconfig.nvim -[submodule "lazydev"] - path = .local/share/nvim/site/pack/plugins/start/lazydev - url = https://github.com/folke/lazydev.nvim - [submodule "zsh-completions"] path = .zfunc/zsh-completions url = https://github.com/zsh-users/zsh-completions.git diff --git a/.local/bin/http-static b/.local/bin/http-static index 7e6fa55..1d49eb7 100755 --- a/.local/bin/http-static +++ b/.local/bin/http-static @@ -4,12 +4,13 @@ from argparse import ArgumentParser from collections.abc import Sequence from typing import Optional from pathlib import Path -from http.server import SimpleHTTPRequestHandler,ThreadingHTTPServer -import sys +from os import PathLike, fspath +from http.server import SimpleHTTPRequestHandler, ThreadingHTTPServer +from functools import partial -def serve(bind, port, directory): - def handler(request, client_address, server): - return SimpleHTTPRequestHandler(request, client_address, server, directory=directory) + +def serve(bind: str, port: int, directory: PathLike): + handler = partial(SimpleHTTPRequestHandler, directory=fspath(directory)) with ThreadingHTTPServer((bind, port), handler) as httpd: print(*httpd.socket.getsockname()) @@ -19,13 +20,28 @@ def serve(bind, port, directory): return -def main(argv: Optional[Sequence[str]] = None): +def main(argv: Optional[Sequence[str]] = None) -> None: parser = ArgumentParser() - parser.add_argument('-b', '--bind', metavar='ADDRESS', default='', help='bind to this address') - parser.add_argument('-p', '--port', default=8080, type=int, help='bind to this port') - parser.add_argument('directory', type=Path, default=Path.cwd(), nargs="?", help='serve this directory') + parser.add_argument( + "-b", "--bind", metavar="ADDRESS", default="", help="bind to this address" + ) + parser.add_argument( + "-p", "--port", default=8080, type=int, help="bind to this port" + ) + parser.add_argument( + "directory", + type=Path, + default=Path.cwd(), + nargs="?", + help="serve this directory", + ) args = parser.parse_args(argv) - serve(**vars(args)) -if __name__ == '__main__': - sys.exit(main()) + try: + serve(**vars(args)) + except KeyboardInterrupt: + pass + + +if __name__ == "__main__": + main() diff --git a/.local/share/nvim/site/pack/plugins/start/fidget.nvim b/.local/share/nvim/site/pack/plugins/start/fidget.nvim deleted file mode 160000 -Subproject d9ba6b7bfe29b3119a610892af67602641da778 diff --git a/.local/share/nvim/site/pack/plugins/start/lazydev b/.local/share/nvim/site/pack/plugins/start/lazydev deleted file mode 160000 -Subproject 2367a6c0a01eb9edb0464731cc0fb61ed9ab9d2 diff --git a/.local/share/nvim/site/pack/plugins/start/mason-lspconfig b/.local/share/nvim/site/pack/plugins/start/mason-lspconfig deleted file mode 160000 -Subproject 1a31f824b9cd5bc6f342fc29e9a53b60d74af24 diff --git a/.local/share/nvim/site/pack/plugins/start/nvim-cmp b/.local/share/nvim/site/pack/plugins/start/nvim-cmp deleted file mode 160000 -Subproject 1e1900b0769324a9675ef85b38f99cca29e203b diff --git a/.local/share/nvim/site/pack/plugins/start/nvim-cmp-lsp b/.local/share/nvim/site/pack/plugins/start/nvim-cmp-lsp deleted file mode 160000 -Subproject 99290b3ec1322070bcfb9e846450a46f6efa50f diff --git a/.local/share/nvim/site/pack/plugins/start/nvim-lspconfig b/.local/share/nvim/site/pack/plugins/start/nvim-lspconfig deleted file mode 160000 -Subproject 85e0dd26b710e834a105d679200d01e326a3d2b |