fix: Add bash and lua support
This commit is contained in:
@@ -27,7 +27,7 @@ vim.o.background = "dark" -- set to "dark" for dark theme
|
|||||||
-- Scrolling and UI settings
|
-- Scrolling and UI settings
|
||||||
vim.opt.cursorline = true
|
vim.opt.cursorline = true
|
||||||
vim.opt.cursorcolumn = true
|
vim.opt.cursorcolumn = true
|
||||||
vim.opt.signcolumn = 'yes'
|
vim.opt.signcolumn = "yes"
|
||||||
vim.opt.wrap = false
|
vim.opt.wrap = false
|
||||||
vim.opt.sidescrolloff = 8
|
vim.opt.sidescrolloff = 8
|
||||||
vim.opt.scrolloff = 8
|
vim.opt.scrolloff = 8
|
||||||
@@ -58,63 +58,63 @@ vim.lsp.inlay_hint.enable(true)
|
|||||||
-- Plugin list
|
-- Plugin list
|
||||||
-- -----------------------------------------------------------------------------------------------
|
-- -----------------------------------------------------------------------------------------------
|
||||||
local plugins = {
|
local plugins = {
|
||||||
{ "nvim-lua/plenary.nvim" }, -- used by several other plugins
|
{ "nvim-lua/plenary.nvim" }, -- used by several other plugins
|
||||||
{ "catppuccin/nvim" },
|
{ "catppuccin/nvim" },
|
||||||
{ "nvim-tree/nvim-web-devicons", lazy = true }, -- used by lualine and nvim-tree
|
{ "nvim-tree/nvim-web-devicons", lazy = true }, -- used by lualine and nvim-tree
|
||||||
{ "nvim-lualine/lualine.nvim" }, -- Status line
|
{ "nvim-lualine/lualine.nvim" }, -- Status line
|
||||||
{ "nvim-tree/nvim-tree.lua" }, -- File browser
|
{ "nvim-tree/nvim-tree.lua" }, -- File browser
|
||||||
{ "numToStr/Comment.nvim" },
|
{ "numToStr/Comment.nvim" },
|
||||||
|
|
||||||
{ "nvim-lua/plenary.nvim" },
|
{ "nvim-lua/plenary.nvim" },
|
||||||
{ "ThePrimeagen/harpoon" },
|
{ "ThePrimeagen/harpoon" },
|
||||||
|
|
||||||
-- Telescope command menu
|
-- Telescope command menu
|
||||||
{ "nvim-telescope/telescope.nvim" },
|
{ "nvim-telescope/telescope.nvim" },
|
||||||
{ "nvim-telescope/telescope-fzf-native.nvim", build = "make" },
|
{ "nvim-telescope/telescope-fzf-native.nvim", build = "make" },
|
||||||
|
|
||||||
-- TreeSitter
|
-- TreeSitter
|
||||||
{ "nvim-treesitter/nvim-treesitter", priority = 1000, build = ":TSUpdate" },
|
{ "nvim-treesitter/nvim-treesitter", priority = 1000, build = ":TSUpdate" },
|
||||||
|
|
||||||
-- LSP
|
-- LSP
|
||||||
{ 'mason-org/mason.nvim' }, -- installs LSP servers
|
{ "mason-org/mason.nvim" }, -- installs LSP servers
|
||||||
{ 'neovim/nvim-lspconfig' }, -- configures LSPs
|
{ "neovim/nvim-lspconfig" }, -- configures LSPs
|
||||||
{ 'mason-org/mason-lspconfig.nvim' }, -- links installed to configured
|
{ "mason-org/mason-lspconfig.nvim" }, -- links installed to configured
|
||||||
{ 'stevearc/conform.nvim' }, -- Formatting where the LSP doesn't
|
{ "stevearc/conform.nvim" }, -- Formatting where the LSP doesn't
|
||||||
|
|
||||||
-- AI trash
|
-- AI trash
|
||||||
-- { 'supermaven-inc/supermaven-nvim' },
|
-- { 'supermaven-inc/supermaven-nvim' },
|
||||||
|
|
||||||
{
|
{
|
||||||
'saghen/blink.cmp', -- Blink completion tool (LSP, snippets etc)
|
"saghen/blink.cmp", -- Blink completion tool (LSP, snippets etc)
|
||||||
version = '1.*', -- see keymap here:
|
version = "1.*", -- see keymap here:
|
||||||
-- opts_extend = { "sources.default" } -- https://cmp.saghen.dev/configuration/keymap.html#default
|
-- opts_extend = { "sources.default" } -- https://cmp.saghen.dev/configuration/keymap.html#default
|
||||||
|
|
||||||
opts = {
|
opts = {
|
||||||
keymap = { preset = "default" },
|
keymap = { preset = "default" },
|
||||||
sources = {
|
sources = {
|
||||||
default = { "lsp", "path", "buffer" },
|
default = { "lsp", "path", "buffer" },
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
"christoomey/vim-tmux-navigator",
|
"christoomey/vim-tmux-navigator",
|
||||||
cmd = {
|
cmd = {
|
||||||
"TmuxNavigateLeft",
|
"TmuxNavigateLeft",
|
||||||
"TmuxNavigateDown",
|
"TmuxNavigateDown",
|
||||||
"TmuxNavigateUp",
|
"TmuxNavigateUp",
|
||||||
"TmuxNavigateRight",
|
"TmuxNavigateRight",
|
||||||
"TmuxNavigatePrevious",
|
"TmuxNavigatePrevious",
|
||||||
"TmuxNavigatorProcessList",
|
"TmuxNavigatorProcessList",
|
||||||
},
|
},
|
||||||
keys = {
|
keys = {
|
||||||
{ "<c-h>", "<cmd><C-U>TmuxNavigateLeft<cr>" },
|
{ "<c-h>", "<cmd><C-U>TmuxNavigateLeft<cr>" },
|
||||||
{ "<c-j>", "<cmd><C-U>TmuxNavigateDown<cr>" },
|
{ "<c-j>", "<cmd><C-U>TmuxNavigateDown<cr>" },
|
||||||
{ "<c-k>", "<cmd><C-U>TmuxNavigateUp<cr>" },
|
{ "<c-k>", "<cmd><C-U>TmuxNavigateUp<cr>" },
|
||||||
{ "<c-l>", "<cmd><C-U>TmuxNavigateRight<cr>" },
|
{ "<c-l>", "<cmd><C-U>TmuxNavigateRight<cr>" },
|
||||||
{ "<c-\\>", "<cmd><C-U>TmuxNavigatePrevious<cr>" },
|
{ "<c-\\>", "<cmd><C-U>TmuxNavigatePrevious<cr>" },
|
||||||
},
|
},
|
||||||
}
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
-- -----------------------------------------------------------------------------------------------
|
-- -----------------------------------------------------------------------------------------------
|
||||||
@@ -122,11 +122,14 @@ local plugins = {
|
|||||||
-- -----------------------------------------------------------------------------------------------
|
-- -----------------------------------------------------------------------------------------------
|
||||||
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
|
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
|
||||||
if not vim.loop.fs_stat(lazypath) then
|
if not vim.loop.fs_stat(lazypath) then
|
||||||
vim.fn.system({
|
vim.fn.system({
|
||||||
"git", "clone", "--filter=blob:none",
|
"git",
|
||||||
"https://github.com/folke/lazy.nvim.git",
|
"clone",
|
||||||
"--branch=stable", lazypath,
|
"--filter=blob:none",
|
||||||
})
|
"https://github.com/folke/lazy.nvim.git",
|
||||||
|
"--branch=stable",
|
||||||
|
lazypath,
|
||||||
|
})
|
||||||
end
|
end
|
||||||
vim.opt.rtp:prepend(lazypath)
|
vim.opt.rtp:prepend(lazypath)
|
||||||
require("lazy").setup(plugins)
|
require("lazy").setup(plugins)
|
||||||
@@ -135,9 +138,9 @@ require("lazy").setup(plugins)
|
|||||||
-- Plugin config
|
-- Plugin config
|
||||||
-- -----------------------------------------------------------------------------------------------
|
-- -----------------------------------------------------------------------------------------------
|
||||||
vim.cmd.colorscheme("catppuccin") -- activate the theme
|
vim.cmd.colorscheme("catppuccin") -- activate the theme
|
||||||
require("lualine").setup() -- the status line
|
require("lualine").setup() -- the status line
|
||||||
require("nvim-tree").setup() -- the tree file browser panel
|
require("nvim-tree").setup() -- the tree file browser panel
|
||||||
require("telescope").setup() -- command menu
|
require("telescope").setup() -- command menu
|
||||||
require("Comment").setup()
|
require("Comment").setup()
|
||||||
-- require("supermaven-nvim").setup({})
|
-- require("supermaven-nvim").setup({})
|
||||||
|
|
||||||
@@ -147,10 +150,10 @@ require("Comment").setup()
|
|||||||
-- NB: Make sure to add more from this list!
|
-- NB: Make sure to add more from this list!
|
||||||
-- https://github.com/nvim-treesitter/nvim-treesitter/tree/master#supported-languages
|
-- https://github.com/nvim-treesitter/nvim-treesitter/tree/master#supported-languages
|
||||||
require("nvim-treesitter.configs").setup({
|
require("nvim-treesitter.configs").setup({
|
||||||
ensure_installed = { "typescript", "python", "rust", "go" },
|
ensure_installed = { "typescript", "python", "rust", "go", "bash", "lua" },
|
||||||
sync_install = false,
|
sync_install = false,
|
||||||
auto_install = true,
|
auto_install = true,
|
||||||
highlight = { enable = true, },
|
highlight = { enable = true },
|
||||||
})
|
})
|
||||||
vim.opt.foldmethod = "expr"
|
vim.opt.foldmethod = "expr"
|
||||||
vim.opt.foldexpr = "nvim_treesitter#foldexpr()"
|
vim.opt.foldexpr = "nvim_treesitter#foldexpr()"
|
||||||
@@ -163,20 +166,22 @@ vim.opt.foldlevel = 99
|
|||||||
-- NB: Make sure to add more from this list!
|
-- NB: Make sure to add more from this list!
|
||||||
-- https://github.com/neovim/nvim-lspconfig/blob/master/doc/configs.md
|
-- https://github.com/neovim/nvim-lspconfig/blob/master/doc/configs.md
|
||||||
require("mason").setup()
|
require("mason").setup()
|
||||||
require("mason-lspconfig").setup({ ensure_installed = { "gopls", "bashls", "beautysh" } })
|
require("mason-lspconfig").setup({ ensure_installed = { "gopls", "bashls", "stylua" } })
|
||||||
|
|
||||||
require("conform").setup({
|
require("conform").setup({
|
||||||
default_format_opts = { lsp_format = "fallback" }, -- Many languages can be formatted directly by their LSP
|
default_format_opts = { lsp_format = "fallback" }, -- Many languages can be formatted directly by their LSP
|
||||||
formatters_by_ft = { -- but some can't, so conform is for those ones
|
formatters_by_ft = { -- but some can't, so conform is for those ones
|
||||||
bash = { "beautysh" },
|
sh = { "shfmt" },
|
||||||
javascript = { "prettier" },
|
bash = { "shfmt" },
|
||||||
javascriptreact = { "prettier" },
|
lua = { "stylua" },
|
||||||
typescript = { "prettier" },
|
javascript = { "prettier" },
|
||||||
typescriptreact = { "prettier" },
|
javascriptreact = { "prettier" },
|
||||||
json = { "prettier" },
|
typescript = { "prettier" },
|
||||||
html = { "prettier" },
|
typescriptreact = { "prettier" },
|
||||||
css = { "prettier" },
|
json = { "prettier" },
|
||||||
},
|
html = { "prettier" },
|
||||||
|
css = { "prettier" },
|
||||||
|
},
|
||||||
})
|
})
|
||||||
|
|
||||||
-- -----------------------------------------------------------------------------------------------
|
-- -----------------------------------------------------------------------------------------------
|
||||||
@@ -215,20 +220,20 @@ vim.keymap.set("n", "<C-f>", ":NvimTreeFindFile<CR>")
|
|||||||
vim.keymap.set("n", "<C-c>", ":NvimTreeClose<CR>")
|
vim.keymap.set("n", "<C-c>", ":NvimTreeClose<CR>")
|
||||||
|
|
||||||
-- Formatting
|
-- Formatting
|
||||||
vim.keymap.set("n", "<leader>fo", require('conform').format)
|
vim.keymap.set("n", "<leader>fo", require("conform").format)
|
||||||
|
|
||||||
vim.keymap.set('n', '<leader>k', vim.diagnostic.goto_next, { desc = "Next diagnostic" })
|
vim.keymap.set("n", "<leader>k", vim.diagnostic.goto_next, { desc = "Next diagnostic" })
|
||||||
-- vim.keymap.set('n', '[d', vim.diagnostic.goto_prev, { desc = "Prev diagnostic" })
|
-- vim.keymap.set('n', '[d', vim.diagnostic.goto_prev, { desc = "Prev diagnostic" })
|
||||||
|
|
||||||
local tele_builtin = require("telescope.builtin")
|
local tele_builtin = require("telescope.builtin")
|
||||||
vim.keymap.set("n", "<leader>ff", tele_builtin.git_files, {}) -- ,ff to find git files
|
vim.keymap.set("n", "<leader>ff", tele_builtin.git_files, {}) -- ,ff to find git files
|
||||||
vim.keymap.set("n", "<leader>fa", tele_builtin.find_files, {}) -- ,fa to find any files
|
vim.keymap.set("n", "<leader>fa", tele_builtin.find_files, {}) -- ,fa to find any files
|
||||||
vim.keymap.set("n", "<leader>fg", tele_builtin.live_grep, {}) -- ,fg to ripgrep
|
vim.keymap.set("n", "<leader>fg", tele_builtin.live_grep, {}) -- ,fg to ripgrep
|
||||||
vim.keymap.set("n", "<leader>fb", tele_builtin.buffers, {}) -- ,fb to see recent buffers
|
vim.keymap.set("n", "<leader>fb", tele_builtin.buffers, {}) -- ,fb to see recent buffers
|
||||||
vim.keymap.set("n", "<leader>fh", tele_builtin.help_tags, {}) -- ,fh to search help
|
vim.keymap.set("n", "<leader>fh", tele_builtin.help_tags, {}) -- ,fh to search help
|
||||||
|
|
||||||
vim.keymap.set("n", "<leader>v", require("harpoon.ui").toggle_quick_menu, {}) -- ,fh to search help
|
vim.keymap.set("n", "<leader>v", require("harpoon.ui").toggle_quick_menu, {}) -- ,fh to search help
|
||||||
vim.keymap.set("n", "<leader>b", require("harpoon.mark").add_file, {}) -- ,fh to search help
|
vim.keymap.set("n", "<leader>b", require("harpoon.mark").add_file, {}) -- ,fh to search help
|
||||||
|
|
||||||
-- ===============================================================================================
|
-- ===============================================================================================
|
||||||
-- Recommended extra keymaps for a modern Neovim workflow
|
-- Recommended extra keymaps for a modern Neovim workflow
|
||||||
@@ -247,7 +252,9 @@ vim.keymap.set("n", "<leader>ca", vim.lsp.buf.code_action, { desc = "Code action
|
|||||||
vim.keymap.set("n", "[d", vim.diagnostic.goto_prev, { desc = "Previous diagnostic" })
|
vim.keymap.set("n", "[d", vim.diagnostic.goto_prev, { desc = "Previous diagnostic" })
|
||||||
vim.keymap.set("n", "]d", vim.diagnostic.goto_next, { desc = "Next diagnostic" })
|
vim.keymap.set("n", "]d", vim.diagnostic.goto_next, { desc = "Next diagnostic" })
|
||||||
vim.keymap.set("n", "<leader>q", vim.diagnostic.setloclist, { desc = "Send diagnostics to location list" })
|
vim.keymap.set("n", "<leader>q", vim.diagnostic.setloclist, { desc = "Send diagnostics to location list" })
|
||||||
vim.keymap.set("n", "<leader>f", function() vim.lsp.buf.format({ async = true }) end, { desc = "Format buffer" })
|
vim.keymap.set("n", "<leader>f", function()
|
||||||
|
vim.lsp.buf.format({ async = true })
|
||||||
|
end, { desc = "Format buffer" })
|
||||||
|
|
||||||
-- ----------------------------
|
-- ----------------------------
|
||||||
-- Telescope / fuzzy finding
|
-- Telescope / fuzzy finding
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ else
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
for dir in "$source_dir"/*/; do
|
for dir in "$source_dir"/*/; do
|
||||||
if [ -d "$dir" ]; then # Check if it's a directory
|
if [ -d "$dir" ]; then # Check if it's a directory
|
||||||
dir_name=$(basename "$dir")
|
dir_name=$(basename "$dir")
|
||||||
source=$source_dir"/"$dir_name
|
source=$source_dir"/"$dir_name
|
||||||
target=$target_config_dir"/"$dir_name
|
target=$target_config_dir"/"$dir_name
|
||||||
@@ -34,7 +34,6 @@ done
|
|||||||
|
|
||||||
fish -c "fisher update"
|
fish -c "fisher update"
|
||||||
|
|
||||||
|
|
||||||
fish -c "set --universal nvm_default_version $nodejs_version"
|
fish -c "set --universal nvm_default_version $nodejs_version"
|
||||||
if fish -c "which node" >/dev/null 2>&1; then
|
if fish -c "which node" >/dev/null 2>&1; then
|
||||||
version=$(node --version)
|
version=$(node --version)
|
||||||
@@ -44,4 +43,3 @@ else
|
|||||||
fish -c "nvm install $nodejs_version"
|
fish -c "nvm install $nodejs_version"
|
||||||
fish -c "nvm use $nodejs_version"
|
fish -c "nvm use $nodejs_version"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user