Skip to content

Commit 11f941c

Browse files
author
Kevin HOANG
committed
CONFIG 15/03/2023
1 parent 2f2b027 commit 11f941c

File tree

5 files changed

+143
-32
lines changed

5 files changed

+143
-32
lines changed

init.lua

Lines changed: 58 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ require('lazy').setup({
7272
},
7373
},
7474

75-
{ -- Theme inspired by Atom
75+
{ -- Theme
7676
'rebelot/kanagawa.nvim',
7777
priority = 1000,
7878
config = function()
@@ -135,8 +135,8 @@ require('lazy').setup({
135135
-- NOTE: Next Step on Your Neovim Journey: Add/Configure additional "plugins" for kickstart
136136
-- These are some example plugins that I've included in the kickstart repository.
137137
-- Uncomment any of the lines below to enable them.
138-
-- require 'kickstart.plugins.autoformat',
139-
-- require 'kickstart.plugins.debug',
138+
require 'kickstart.plugins.autoformat',
139+
require 'kickstart.plugins.debug',
140140

141141
-- NOTE: The import below automatically adds your own plugins, configuration, etc from `lua/custom/plugins/*.lua`
142142
-- You can use this folder to prevent any conflicts with this init.lua if you're interested in keeping
@@ -230,28 +230,46 @@ pcall(require('telescope').load_extension, 'fzf')
230230
-- See `:help telescope.builtin`
231231
vim.keymap.set('n', '<leader>?', require('telescope.builtin').oldfiles, { desc = '[?] Find recently opened files' })
232232
vim.keymap.set('n', '<leader><space>', require('telescope.builtin').buffers, { desc = '[ ] Find existing buffers' })
233-
vim.keymap.set('n', '<leader>/', function()
233+
vim.keymap.set('n', '<leader>f', function()
234234
-- You can pass additional configuration to telescope to change theme, layout, etc.
235235
require('telescope.builtin').current_buffer_fuzzy_find(require('telescope.themes').get_dropdown {
236236
winblend = 10,
237237
previewer = false,
238238
})
239239
end, { desc = '[/] Fuzzily search in current buffer' })
240240

241-
vim.keymap.set('n', '<leader>sf', require('telescope.builtin').find_files, { desc = '[S]earch [F]iles' })
242-
vim.keymap.set('n', '<leader>sh', require('telescope.builtin').help_tags, { desc = '[S]earch [H]elp' })
243-
vim.keymap.set('n', '<leader>sw', require('telescope.builtin').grep_string, { desc = '[S]earch current [W]ord' })
244-
vim.keymap.set('n', '<leader>sg', require('telescope.builtin').live_grep, { desc = '[S]earch by [G]rep' })
245-
vim.keymap.set('n', '<leader>sd', require('telescope.builtin').diagnostics, { desc = '[S]earch [D]iagnostics' })
241+
vim.keymap.set('n', '<leader>d', require('telescope.builtin').live_grep, { desc = '[S]earch by [G]rep' })
242+
vim.keymap.set('n', '<leader>s', require('telescope.builtin').find_files, { desc = '[S]earch [F]iles' })
243+
vim.keymap.set('n', '<leader>h', require('telescope.builtin').help_tags, { desc = '[S]earch [H]elp' })
244+
vim.keymap.set('n', '<leader>q', ":Neotree<CR>", { desc = 'Neotree focus' })
245+
246+
-- VIM NAVIGATION
247+
vim.keymap.set('n', '<C-h>', ':wincmd h<CR>', { desc = 'Move to left window' })
248+
vim.keymap.set('n', '<C-j>', ':wincmd j<CR>', { desc = 'Move to bottom window' })
249+
vim.keymap.set('n', '<C-k>', ':wincmd k<CR>', { desc = 'Move to top window' })
250+
vim.keymap.set('n', '<C-l>', ':wincmd l<CR>', { desc = 'Move to right window' })
251+
252+
-- VIM REPLACE BASE KEYMAPS
253+
vim.keymap.set('v', 'z', '"*x :let @+=@*<CR>', { noremap=true, silent=true, desc = 'Cut' })
254+
vim.keymap.set('v', 'e', '"*y :let @+=@*<CR>', { noremap=true, silent=true, desc = 'Copy' })
255+
vim.keymap.set('n', 'r', '"+p', { noremap=true, silent=true, desc = 'Paste' })
256+
257+
vim.keymap.set('v', 'K', ':move \'<-2<CR>gv-gv', { noremap=true, silent=true, desc = 'Move line up' })
258+
vim.keymap.set('v', 'J', ':move \'>+1<CR>gv-gv', { noremap=true, silent=true, desc = 'Move line down' })
259+
260+
261+
-- vim.keymap.set('n', '<leader>qr', require('telescope.builtin').resume, {desc= '[S]earch [R]esume'})
262+
-- vim.keymap.set('n', '<leader>qw', require('telescope.builtin').grep_string, { desc = '[S]earch current [W]ord' })
263+
-- vim.keymap.set('n', '<leader>qd', require('telescope.builtin').diagnostics, { desc = '[S]earch [D]iagnostics' })
246264

247265
-- [[ Configure Treesitter ]]
248266
-- See `:help nvim-treesitter`
249267
require('nvim-treesitter.configs').setup {
250268
-- Add languages to be installed here that you want installed for treesitter
251-
ensure_installed = { 'c', 'cpp', 'go', 'lua', 'python', 'rust', 'tsx', 'typescript', 'help', 'vim' },
269+
ensure_installed = { 'c', 'cpp', 'go', 'lua', 'python', 'rust', 'tsx', 'typescript', 'help', 'vim', 'gitignore', 'graphql', 'javascript', 'html', 'json', 'markdown', 'regex', 'scss', 'svelte', 'css' },
252270

253271
-- Autoinstall languages that are not installed. Defaults to false (but you can change for yourself!)
254-
auto_install = false,
272+
auto_install = true,
255273

256274
highlight = { enable = true },
257275
indent = { enable = true, disable = { 'python' } },
@@ -311,10 +329,10 @@ require('nvim-treesitter.configs').setup {
311329
}
312330

313331
-- Diagnostic keymaps
314-
vim.keymap.set('n', '[d', vim.diagnostic.goto_prev, { desc = "Go to previous diagnostic message" })
315-
vim.keymap.set('n', ']d', vim.diagnostic.goto_next, { desc = "Go to next diagnostic message" })
316-
vim.keymap.set('n', '<leader>e', vim.diagnostic.open_float, { desc = "Open floating diagnostic message" })
317-
vim.keymap.set('n', '<leader>q', vim.diagnostic.setloclist, { desc = "Open diagnostics list" })
332+
-- vim.keymap.set('n', '[d', vim.diagnostic.goto_prev, { desc = "Go to previous diagnostic message" })
333+
-- vim.keymap.set('n', ']d', vim.diagnostic.goto_next, { desc = "Go to next diagnostic message" })
334+
-- vim.keymap.set('n', '<leader>e', vim.diagnostic.open_float, { desc = "Open floating diagnostic message" })
335+
-- vim.keymap.set('n', '<leader>q', vim.diagnostic.setloclist, { desc = "Open diagnostics list" })
318336

319337
-- LSP settings.
320338
-- This function gets run when an LSP connects to a particular buffer.
@@ -334,26 +352,26 @@ local on_attach = function(_, bufnr)
334352
end
335353

336354
nmap('<leader>rn', vim.lsp.buf.rename, '[R]e[n]ame')
337-
nmap('<leader>ca', vim.lsp.buf.code_action, '[C]ode [A]ction')
355+
-- nmap('<leader>ca', vim.lsp.buf.code_action, '[C]ode [A]ction')
338356

339-
nmap('gd', vim.lsp.buf.definition, '[G]oto [D]efinition')
340-
nmap('gr', require('telescope.builtin').lsp_references, '[G]oto [R]eferences')
341-
nmap('gI', vim.lsp.buf.implementation, '[G]oto [I]mplementation')
357+
nmap('gr', vim.lsp.buf.definition, '[G]oto [D]efinition')
358+
nmap('ge', require('telescope.builtin').lsp_references, '[G]oto [R]eferences')
359+
nmap('gz', vim.lsp.buf.implementation, '[G]oto [I]mplementation')
342360
nmap('<leader>D', vim.lsp.buf.type_definition, 'Type [D]efinition')
343-
nmap('<leader>ds', require('telescope.builtin').lsp_document_symbols, '[D]ocument [S]ymbols')
344-
nmap('<leader>ws', require('telescope.builtin').lsp_dynamic_workspace_symbols, '[W]orkspace [S]ymbols')
361+
-- nmap('<leader>ds', require('telescope.builtin').lsp_document_symbols, '[D]ocument [S]ymbols')
362+
-- nmap('<leader>ws', require('telescope.builtin').lsp_dynamic_workspace_symbols, '[W]orkspace [S]ymbols')
345363

346364
-- See `:help K` for why this keymap
347-
nmap('K', vim.lsp.buf.hover, 'Hover Documentation')
348-
nmap('<C-k>', vim.lsp.buf.signature_help, 'Signature Documentation')
365+
nmap('<leader>K', vim.lsp.buf.hover, 'Hover Documentation')
366+
-- nmap('<C-k>', vim.lsp.buf.signature_help, 'Signature Documentation')
349367

350368
-- Lesser used LSP functionality
351-
nmap('gD', vim.lsp.buf.declaration, '[G]oto [D]eclaration')
352-
nmap('<leader>wa', vim.lsp.buf.add_workspace_folder, '[W]orkspace [A]dd Folder')
353-
nmap('<leader>wr', vim.lsp.buf.remove_workspace_folder, '[W]orkspace [R]emove Folder')
354-
nmap('<leader>wl', function()
355-
print(vim.inspect(vim.lsp.buf.list_workspace_folders()))
356-
end, '[W]orkspace [L]ist Folders')
369+
-- nmap('gD', vim.lsp.buf.declaration, '[G]oto [D]eclaration')
370+
-- nmap('<leader>wa', vim.lsp.buf.add_workspace_folder, '[W]orkspace [A]dd Folder')
371+
-- nmap('<leader>wr', vim.lsp.buf.remove_workspace_folder, '[W]orkspace [R]emove Folder')
372+
-- nmap('<leader>wl', function()
373+
-- print(vim.inspect(vim.lsp.buf.list_workspace_folders()))
374+
-- end, '[W]orkspace [L]ist Folders')
357375

358376
-- Create a command `:Format` local to the LSP buffer
359377
vim.api.nvim_buf_create_user_command(bufnr, 'Format', function(_)
@@ -370,9 +388,17 @@ local servers = {
370388
-- clangd = {},
371389
-- gopls = {},
372390
-- pyright = {},
373-
-- rust_analyzer = {},
374-
-- tsserver = {},
375-
391+
rust_analyzer = {},
392+
tsserver = {},
393+
cssls = {},
394+
cssmodules_ls = {},
395+
graphql = {},
396+
html = {},
397+
jsonls = {},
398+
marksman = {},
399+
pyright = {},
400+
svelte = {},
401+
tailwindcss = {},
376402
lua_ls = {
377403
Lua = {
378404
workspace = { checkThirdParty = false },

lua/custom/plugins/autopairs.lua

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
return {
2+
"windwp/nvim-autopairs",
3+
config = function()
4+
require("nvim-autopairs").setup {}
5+
end,
6+
}

lua/custom/plugins/bufferline.lua

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
return {
2+
"akinsho/bufferline.nvim",
3+
config = function()
4+
require("bufferline").setup {}
5+
end,
6+
}

lua/custom/plugins/copilot.lua

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
return {
2+
"zbirenbaum/copilot.lua",
3+
cmd = "Copilot",
4+
event = 'InsertEnter',
5+
config = function()
6+
require("copilot").setup {{
7+
panel = {
8+
enabled = true,
9+
auto_refresh = false,
10+
keymap = {
11+
jump_prev = "[[",
12+
jump_next = "]]",
13+
accept = "<CR>",
14+
refresh = "gr",
15+
open = "<M-CR>"
16+
},
17+
layout = {
18+
position = "bottom", -- | top | left | right
19+
ratio = 0.4
20+
},
21+
},
22+
suggestion = {
23+
enabled = true,
24+
auto_trigger = true,
25+
debounce = 75,
26+
keymap = {
27+
accept = "<M-l>",
28+
accept_word = false,
29+
accept_line = false,
30+
next = "<M-]>",
31+
prev = "<M-[>",
32+
dismiss = "<C-]>",
33+
},
34+
},
35+
filetypes = {
36+
yaml = false,
37+
markdown = false,
38+
help = false,
39+
gitcommit = false,
40+
gitrebase = false,
41+
hgcommit = false,
42+
svn = false,
43+
cvs = false,
44+
["."] = false,
45+
},
46+
copilot_node_command = 'node', -- Node.js version must be > 16.x
47+
server_opts_overrides = {},
48+
}}
49+
end,
50+
}

lua/custom/plugins/filetree.lua

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
-- Unless you are still migrating, remove the deprecated commands from v1.x
2+
vim.cmd([[ let g:neo_tree_remove_legacy_commands = 1 ]])
3+
4+
return {
5+
"nvim-neo-tree/neo-tree.nvim",
6+
version = "*",
7+
dependencies = {
8+
"nvim-lua/plenary.nvim",
9+
"nvim-tree/nvim-web-devicons", -- not strictly required, but recommended
10+
"MunifTanjim/nui.nvim",
11+
},
12+
config = function ()
13+
require('neo-tree').setup {
14+
filesystem = {
15+
filtered_items = {
16+
visible = true,
17+
hide_dotfiles = false,
18+
hide_gitignored = false
19+
}
20+
}
21+
}
22+
end,
23+
}

0 commit comments

Comments
 (0)