79 lines
2.8 KiB
Lua
79 lines
2.8 KiB
Lua
local cmd = vim.cmd -- to execute Vim commands e.g. cmd('pwd')
|
|
local fn = vim.fn -- to call Vim functions e.g. fn.bufnr()
|
|
local g = vim.g -- a table to access global variables
|
|
local opt = vim.opt -- to set options
|
|
local utils = require('utils')
|
|
|
|
-------------------- EXTERNAL ------------------------------
|
|
require('my_plugins')
|
|
require('my_keymappings')
|
|
require('my_options')
|
|
require("my_autocommands")
|
|
-------------------- GITSIGNS ------------------------------
|
|
require('gitsigns').setup({
|
|
current_line_blame = true,
|
|
current_line_blame_opts = {
|
|
virt_text = true,
|
|
virt_text_pos = 'eol', -- 'eol' | 'overlay' | 'right_align'
|
|
delay = 1000,
|
|
ignore_whitespace = false,
|
|
},
|
|
})
|
|
-------------------- COMMENTED -----------------------------
|
|
require('Comment').setup({
|
|
toggler = {
|
|
---line-comment toggle
|
|
line = '<leader>cc',
|
|
},
|
|
opleader = {
|
|
---line-comment opfunc mapping
|
|
line = '<leader>c',
|
|
},
|
|
})
|
|
-------------------- CMAKE ---------------------------------
|
|
-- require('telescope').load_extension('cmake')
|
|
require('cmake').setup({
|
|
parameters_file = 'neovim.json', -- JSON file to store information about selected target, run arguments and build type.
|
|
build_dir = '{cwd}/build_nvim', -- Build directory. The expressions `{cwd}`, `{os}` and `{build_type}` will be expanded with the corresponding text values.
|
|
})
|
|
utils.map('n', '<F5>', ':CMake build<CR>:copen<CR>')
|
|
|
|
-- msbuild errorformat
|
|
opt.errorformat:append("\\ %#%f(%l\\\\\\,%c):\\ %m")
|
|
-- cl.exe errorformat
|
|
-- o.errorformat:append('\ %#%f(%l) : %#%t%[A-z]%# %m')
|
|
|
|
-------------------- LUALINE -------------------------------
|
|
require('lualine').setup {
|
|
options = {theme = 'gruvbox-material'},
|
|
sections = {lualine_c = {'getcwd', {'filename', path = 1, file_status = true}}},
|
|
inactive_sections = {lualine_c = {'getcwd', {'filename', path = 1, file_status = true}}}
|
|
}
|
|
-------------------- PROJECT -------------------------------
|
|
require("project_nvim").setup {
|
|
silent_chdir = true,
|
|
}
|
|
require('telescope').load_extension('projects')
|
|
utils.map('n', '<space>p', '<cmd>Telescope projects<cr>')
|
|
-------------------- AUTOPAIRS -----------------------------
|
|
require('nvim-autopairs').setup{}
|
|
-------------------- FZF NATIVE ----------------------------
|
|
require('telescope').load_extension('fzf')
|
|
-------------------- TERMINAL ------------------------------
|
|
require('nvim-terminal').setup({
|
|
toggle_keymap = '<leader>z',
|
|
})
|
|
-------------------- INDENT-BLANKLINE ----------------------
|
|
opt.listchars:append("eol:↴")
|
|
-- opt.listchars:append("space: ")
|
|
opt.listchars:append("trail: ")
|
|
opt.listchars:append("tab:→ ")
|
|
|
|
require("indent_blankline").setup {
|
|
show_end_of_line = true,
|
|
use_treesitter = true,
|
|
show_current_context = true,
|
|
context_patterns = {'class', 'function', 'method', 'block', '^if', '^for', '^while'},
|
|
}
|
|
|