From cf19589a985eef8cb13a46b26f45ee832578c0e6 Mon Sep 17 00:00:00 2001 From: Buliway Date: Thu, 6 Feb 2025 05:07:50 +0300 Subject: [PATCH] add .proto files support for neovim --- nixos/home.nix | 1 + nixos/packages.nix | 8 ++++++++ nvim/lua/kickstart/plugins/lsp.lua | 6 +++++- nvim/lua/kickstart/settings.lua | 8 ++++++++ 4 files changed, 22 insertions(+), 1 deletion(-) diff --git a/nixos/home.nix b/nixos/home.nix index 5d99315..ffcd274 100644 --- a/nixos/home.nix +++ b/nixos/home.nix @@ -28,6 +28,7 @@ TERM = "alacritty"; QT_QPA_PLATFORMTHEME = "qt6ct"; # QT_STYLE_OVERRIDE = "kvantum"; + PATH = "$PATH:${config.home.homeDirectory}/go/bin"; }; stateVersion = "24.05"; # Don't change it diff --git a/nixos/packages.nix b/nixos/packages.nix index 6cf70fb..9090ce9 100644 --- a/nixos/packages.nix +++ b/nixos/packages.nix @@ -209,6 +209,13 @@ tailwindcss-language-server # Tailwind LSP # tailwindcss + # Protobuf + # protols # LSP + buf # LSP + protobuf + protoc-gen-go + protoc-gen-go-grpc + # Other hugo # Для моего блога yaml-language-server # YAML LSP @@ -281,6 +288,7 @@ lm_sensors # Сенсоры httpie # interacting with APIs & HTTP servers jq # Cli JSON processor + miller # Like awk, sed, cut, join, and sort for data formats such as CSV, TSV, JSON, JSON Lines, and positionally-indexed # htmlq # Как jq, но для html. Извлекать конкретные элементы из html # mkvtoolnix-cli # Cross-platform tools for Matroska diff --git a/nvim/lua/kickstart/plugins/lsp.lua b/nvim/lua/kickstart/plugins/lsp.lua index bf52479..b009452 100644 --- a/nvim/lua/kickstart/plugins/lsp.lua +++ b/nvim/lua/kickstart/plugins/lsp.lua @@ -265,7 +265,9 @@ return { -- }; -- } -- } - lspconfig.clangd.setup {} + lspconfig.clangd.setup { + filetypes = { 'c', 'cpp', 'objc', 'objcpp', 'cuda' }, -- Удалил "proto" + } lspconfig.cmake.setup {} -- Python @@ -293,6 +295,8 @@ return { lspconfig.taplo.setup {} lspconfig.vimls.setup {} lspconfig.yamlls.setup {} + -- lspconfig.protols.setup {} + lspconfig.buf_ls.setup {} -- Ensure the servers and tools above are installed -- To check the current status of installed tools and/or manually install diff --git a/nvim/lua/kickstart/settings.lua b/nvim/lua/kickstart/settings.lua index d745c97..c988d41 100644 --- a/nvim/lua/kickstart/settings.lua +++ b/nvim/lua/kickstart/settings.lua @@ -30,6 +30,14 @@ vim.cmd [[ autocmd FileType yaml setlocal shiftwidth=4 tabstop=4 softtabstop=4 expandtab ]] +-- Комментировать .proto код биндом +vim.api.nvim_create_autocmd('FileType', { + pattern = 'proto', + callback = function() + vim.bo.commentstring = '// %s' + end, +}) + -- Enable mouse mode, can be useful for resizing splits for example! vim.opt.mouse = 'a'