Skip to content

Commit

Permalink
add neovim config
Browse files Browse the repository at this point in the history
turn out dot-config -> .config not actually working gh issues has been open for a while

aspiers/stow#33
  • Loading branch information
Kapocsi committed Aug 1, 2024
1 parent 516c2fa commit c664177
Show file tree
Hide file tree
Showing 19 changed files with 571 additions and 2 deletions.
35 changes: 35 additions & 0 deletions .config/nvim/after/plugin/cmp.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
local cmp = require('cmp')

cmp.setup({
sources = {
{
name = "nvim_lsp",
priority = 1000
},
{
name = "luasnip",
priority = 750
},
{
name = "buffer",
priority = 500
},
{
name = "path",
priority = 250
}
},
mapping = cmp.mapping.preset.insert({
-- Enter key confirms completion item
['<CR>'] = cmp.mapping.confirm({
select = false
}),

-- Ctrl + space triggers completion menu
['<C-Space>'] = cmp.mapping.complete()
}),
snippet = {
expand = function(args) require('luasnip').lsp_expand(args.body) end
}
})

9 changes: 9 additions & 0 deletions .config/nvim/after/plugin/conf.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
require("neoconf").setup();
require("neodev").setup();
require('nvim-ts-autotag').setup()
require('Comment').setup({
pre_hook = require('ts_context_commentstring.integrations.comment_nvim').create_pre_hook()
})
require('ts_context_commentstring').setup({})
require("bufferline").setup {}
require("transparent").setup()
62 changes: 62 additions & 0 deletions .config/nvim/after/plugin/lsp.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
require("luasnip.loaders.from_vscode").lazy_load()

vim.keymap.set('n', 'gl', '<cmd>lua vim.diagnostic.open_float()<cr>')
vim.keymap.set('n', '[d', '<cmd>lua vim.diagnostic.goto_prev()<cr>')
vim.keymap.set('n', ']d', '<cmd>lua vim.diagnostic.goto_next()<cr>')

vim.api.nvim_create_autocmd('LspAttach', {
desc = 'LSP actions',
callback = function(args)
local bufnr = args.buf
local client = vim.lsp.get_client_by_id(args.data.client_id)

local opts = {
buffer = bufnr
}

require("which-key").register({
['K'] = {
function() vim.lsp.buf.hover() end,
'Hover Diagnostic'
},
["g"] = {
d = {
function() vim.lsp.buf.definition() end,
'Jump Definition'
},
D = {
function() vim.lsp.buf.declaration() end,
'Jump Declaration'
},
i = {
function() vim.lsp.buf.implementation() end,
'View Implementation'
},
o = {
function() vim.lsp.buf.type_definition() end,
'Jump Type Definition'
},
r = {
function() vim.lsp.buf.references() end,
'View References'
},
s = {
function() vim.lsp.buf.signature_help() end,
'Signature Help'
}
},
["<leader>l"] = {
r = {
function() vim.lsp.buf.rename() end,
'Rename'
},
a = {
function() vim.lsp.buf.code_action() end,
'Code Action'
}
}

}, opts)

end
})
39 changes: 39 additions & 0 deletions .config/nvim/after/plugin/mason.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
local lsp_capabilities = require('cmp_nvim_lsp').default_capabilities()

local default_setup = function(server)
require('lspconfig')[server].setup({
capabilities = lsp_capabilities
})

end

require('mason').setup({})
require('mason-lspconfig').setup({
ensure_installed = {
"clangd",
"eslint",
"html",
"lua_ls",
"rust_analyzer",
"tailwindcss",
"tsserver",
"typos_lsp"

},
handlers = {
default_setup
}
})

local required_formatters = {
"black",
"clang-format",
"luaformatter",
"prettier"
}

for _, value in pairs(required_formatters) do
if not require("mason-registry").is_installed(value) then
vim.cmd("MasonInstall " .. value)
end
end
50 changes: 50 additions & 0 deletions .config/nvim/after/plugin/nvim-formatter.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
local formatters = require("formatter.defaults");
local util = require "formatter.util"

local lua_format = function()
return {
exe = "lua-format",
stdin = true,
args = {
"--column-table-limit=1"
}
}
end

require("formatter").setup {
logging = true,
log_level = vim.log.levels.WARN,
filetype = {
lua = lua_format,
rust = require("formatter.filetypes.rust").rustfmt,
cpp = require("formatter.filetypes.cpp").clangformat,
python = require("formatter.filetypes.python").black,

-- JS Land
javascript = formatters.prettier,
javascriptreact = formatters.prettier,
typescript = formatters.prettier,
typescriptreact = formatters.prettier,
css = formatters.prettier,
scss = formatters.prettier,
less = formatters.prettier,
html = formatters.prettier,
json = formatters.prettier,
yaml = formatters.prettier,
markdown = formatters.prettier,
graphql = formatters.prettier,
vue = formatters.prettier,
svelte = formatters.prettier

}
}

local augroup = vim.api.nvim_create_augroup
local autocmd = vim.api.nvim_create_autocmd
augroup("__formatter__", {
clear = true
})
autocmd("BufWritePost", {
group = "__formatter__",
command = ":FormatWriteLock"
})
9 changes: 9 additions & 0 deletions .config/nvim/after/plugin/nvim-lint.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
require("lint").linters_by_ft = {}

vim.api.nvim_create_autocmd({
"BufWritePost"
}, {
callback = function()
require("lint").try_lint()
end
})
3 changes: 3 additions & 0 deletions .config/nvim/after/plugin/rich.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
require("presence").setup({
main_image = "file"
})
18 changes: 18 additions & 0 deletions .config/nvim/after/plugin/treesitter.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
require'nvim-treesitter.configs'.setup {
ensure_installed = {},
modules = {},
ignore_install = {},

sync_install = false,

auto_install = true,

highlight = {
enable = true,
additional_vim_regex_highlighting = false
},

autotag = {
enable = true
}
}
24 changes: 24 additions & 0 deletions .config/nvim/init.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
vim.g.loaded_netrwPlugin = 1
vim.g.loaded_netrw = 1

local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
if not vim.loop.fs_stat(lazypath) then
vim.fn.system({
"git",
"clone",
"--filter=blob:none",
"https://github.com/folke/lazy.nvim.git",
"--branch=stable", -- latest stable release
lazypath
})
end
vim.opt.rtp:prepend(lazypath)
vim.loader.enable()
vim.g.mapleader = " "

require("lazy").setup("plugins") -- Load Plugins
require("config.keybinds") -- Load keybinds
require("config.default_settings"); -- Load Settings
require("config.autocmd");

vim.cmd.colorscheme "catppuccin"
34 changes: 34 additions & 0 deletions .config/nvim/lazy-lock.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
{
"Comment.nvim": { "branch": "master", "commit": "0236521ea582747b58869cb72f70ccfa967d2e89" },
"LuaSnip": { "branch": "master", "commit": "f3b3d3446bcbfa62d638b1903ff00a78b2b730a1" },
"bufferline.nvim": { "branch": "main", "commit": "d6cb9b7cac52887bcac65f8698e67479553c0748" },
"catppuccin": { "branch": "main", "commit": "9703f227bfab20d04bcee62d2f08f1795723b4ae" },
"cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" },
"cmp-nvim-lsp": { "branch": "main", "commit": "5af77f54de1b16c34b23cba810150689a3a90312" },
"cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" },
"dashboard-nvim": { "branch": "master", "commit": "413442b12d85315fc626c44a0ce4929b213ef604" },
"formatter.nvim": { "branch": "master", "commit": "cb4778b8432f1ae86dae4634c0b611cb269a4c2f" },
"friendly-snippets": { "branch": "main", "commit": "dcd4a586439a1c81357d5b9d26319ae218cc9479" },
"lazy.nvim": { "branch": "main", "commit": "28126922c9b54e35a192ac415788f202c3944c9f" },
"lsp-zero.nvim": { "branch": "v3.x", "commit": "abac76482ec3012a2b359ba956a74e2ffd33d46f" },
"mason-lspconfig.nvim": { "branch": "main", "commit": "60f6805b12a12e8a912aeb2f975dec1794a8994e" },
"mason.nvim": { "branch": "main", "commit": "c43eeb5614a09dc17c03a7fb49de2e05de203924" },
"neo-tree.nvim": { "branch": "main", "commit": "7d3b02073e59ed9ef271795787de76d0de8f5294" },
"neoconf.nvim": { "branch": "main", "commit": "4ef6c6c5882e7e16209173fb8c47414202843384" },
"neodev.nvim": { "branch": "main", "commit": "fdf6b3c58caf3ed1bfe40822d5dac340fc18c33b" },
"nui.nvim": { "branch": "main", "commit": "c3c7fd618dcb5a89e443a2e1033e7d11fdb0596b" },
"nvim-cmp": { "branch": "main", "commit": "04e0ca376d6abdbfc8b52180f8ea236cbfddf782" },
"nvim-lint": { "branch": "master", "commit": "99f93757276ea55c35bbe74ad2a3d25fc504643b" },
"nvim-lspconfig": { "branch": "master", "commit": "aa199c5bbdbb7fd28b56212a89206f13db02799e" },
"nvim-treesitter": { "branch": "master", "commit": "ca46eb3ac96cd96e963895004589f0c9b2a44491" },
"nvim-ts-autotag": { "branch": "main", "commit": "531f48334c422222aebc888fd36e7d109cb354cd" },
"nvim-ts-context-commentstring": { "branch": "main", "commit": "7ab799a9792f7cf3883cf28c6a00ad431f3d382a" },
"nvim-web-devicons": { "branch": "master", "commit": "14ac5887110b06b89a96881d534230dac3ed134d" },
"plenary.nvim": { "branch": "master", "commit": "4f71c0c4a196ceb656c824a70792f3df3ce6bb6d" },
"presence.nvim": { "branch": "main", "commit": "87c857a56b7703f976d3a5ef15967d80508df6e6" },
"telescope.nvim": { "branch": "master", "commit": "d90956833d7c27e73c621a61f20b29fdb7122709" },
"transparent.nvim": { "branch": "main", "commit": "fd35a46f4b7c1b244249266bdcb2da3814f01724" },
"ultimate-autopair.nvim": { "branch": "v0.6", "commit": "f4125108b58f2a3a5bb30bcee91927ea88cdfa34" },
"undotree": { "branch": "master", "commit": "9dbbf3b7d19dda0d22ceca461818e4739ad8154d" },
"which-key.nvim": { "branch": "main", "commit": "4433e5ec9a507e5097571ed55c02ea9658fb268a" }
}
16 changes: 16 additions & 0 deletions .config/nvim/lua/config/autocmd.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
vim.api.nvim_create_augroup("dashboard_open", {
clear = true
});

vim.api.nvim_create_autocmd("VimEnter", {
desc = "Open Dashboard",
group = "dashboard_open",
once = true,
callback = function()
if not vim.g.dashboard_opened then
-- vim.cmd "Dashboard"
if vim.fn.argc() > 0 then vim.cmd "Neotree show" end
vim.g.dashboard_opened = true
end
end
})
27 changes: 27 additions & 0 deletions .config/nvim/lua/config/default_settings.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
vim.wo.nu = true;
vim.wo.relativenumber = true;

-- Use system clipboard
vim.opt.clipboard = 'unnamedplus'

-- persistent undo
vim.opt.undodir = "/tmp/nvim_undo"
vim.opt.undofile = true

vim.opt.smartindent = true;

vim.opt.hlsearch = false;
vim.opt.incsearch = true;

vim.opt.termguicolors = true;

vim.opt.scrolloff = 8;

vim.opt.updatetime = 50;

vim.opt.colorcolumn = "80";
vim.opt.wrap = false;

vim.opt.tabstop = 4;
vim.opt.shiftwidth = 4;
vim.opt.expandtab = true;
Loading

0 comments on commit c664177

Please sign in to comment.