feat(neovim): AWK LSP with required workarounds

- Disable lspsaga -> symbol_in_winbar for awk files
This commit is contained in:
Pratik Tripathy
2025-10-22 20:23:25 +05:30
parent f7123b0759
commit b3f19fede4
5 changed files with 16 additions and 8 deletions

View File

@@ -16,13 +16,12 @@ require("config.autocmd")
-- NOTE: External Tools needed for this Nvim config to work
-- jsregexp
-- rust-analyzer, rustc, cargo (rustacean)
-- OS Installs: Use ../../../scripts/install.sh
-- OS Installs:
-- general: curl, gzip, unzip, git, fd-find, ripgrep, fzf, tree-sitter
-- tools: ImageMagick, xclip, xsel, ghostscript
-- lsp: codespell, nodejs-bash-language-server, hadolint, lua, luajit, shellcheck, shfmt, trivy, pylint, stylua
-- lsp: ../../../scripts/package-list-os
-- Brew:
-- tools: lazygit
-- lsp: dockerfile-language-server, markdown-toc, markdownlint-cli, marksman, prettier, prettierd, python-lsp-server,
-- taplo, typescript-language-server, vue-language-server, yaml-language-server, yamlfmt
-- MasonInstallAll to install the rest (./lua/config/autocmd.lua)
-- codelldb, css-lsp, docker-compose-language-service, html-lsp, json-lsp, sqlls
-- lsp: ../../../scripts/package-list-brew
-- MasonInstallAll to install the rest:
-- (./lua/config/autocmd.lua)

View File

@@ -0,0 +1,3 @@
return {
filetypes = { "awk" },
}

View File

@@ -28,5 +28,5 @@ vim.api.nvim_create_autocmd("TextYankPost", {
-- New command: MasonInstallAll
vim.api.nvim_create_user_command("MasonInstallAll", function()
vim.cmd("MasonInstall codelldb css-lsp docker-compose-language-service html-lsp json-lsp sqlls")
vim.cmd("MasonInstall awk-language-server codelldb css-lsp docker-compose-language-service html-lsp json-lsp sqlls")
end, {})

View File

@@ -6,6 +6,7 @@
-- Step 4: Return a lua table containing required lsp config in it
-- NOTE: Only LSPs here, NOT linters or formatter
vim.lsp.enable({
"awk_ls",
"basedpyright",
"bashls",
"cssls",

View File

@@ -111,11 +111,13 @@ return {
{
"nvimdev/lspsaga.nvim",
event = { "FileType" },
dependencies = {
"nvim-treesitter/nvim-treesitter",
"nvim-tree/nvim-web-devicons",
},
config = function()
local disabled_filetypes = { "awk" }
require("lspsaga").setup({
ui = {
kind = require("config.util").icons.kind_lspsaga,
@@ -128,7 +130,10 @@ return {
sign = true,
priority = 100,
},
symbol_in_winbar = { enable = true, hide_keyword = true },
symbol_in_winbar = {
enable = not vim.tbl_contains(disabled_filetypes, vim.bo.filetype),
hide_keyword = true,
},
lightbulb = { virtual_text = false },
outline = { auto_preview = false },
})