feat(nvim): new vim config
This commit is contained in:
@@ -0,0 +1,63 @@
|
||||
-- load plugins
|
||||
require("pluginsList.lua")
|
||||
require("web-devicons.lua")
|
||||
|
||||
require("utils.lua")
|
||||
require("nvimTree.lua")
|
||||
require("bufferline.lua")
|
||||
require("statusline.lua")
|
||||
require("telescope-nvim.lua")
|
||||
|
||||
-- lsp
|
||||
require("nvim-lspconfig.lua")
|
||||
require("nvim-compe.lua")
|
||||
|
||||
require("gitsigns.lua")
|
||||
|
||||
require "colorizer".setup()
|
||||
|
||||
local cmd = vim.cmd
|
||||
local g = vim.g
|
||||
local indent = 4
|
||||
|
||||
cmd "colorscheme base16-onedark"
|
||||
cmd "syntax enable"
|
||||
cmd "syntax on"
|
||||
cmd "set tabstop=4"
|
||||
|
||||
g.auto_save = 1
|
||||
g.indentLine_enabled = 1
|
||||
g.indentLine_char_list = {'▏'}
|
||||
|
||||
g.mapleader = " "
|
||||
|
||||
require("treesitter.lua")
|
||||
require("mappings.lua")
|
||||
|
||||
-- highlights
|
||||
cmd("hi LineNr guibg=NONE")
|
||||
cmd("hi SignColumn guibg=NONE")
|
||||
cmd("hi VertSplit guibg=NONE")
|
||||
cmd("hi DiffAdd guifg=#81A1C1 guibg = none")
|
||||
cmd("hi DiffChange guifg =#3A3E44 guibg = none")
|
||||
cmd("hi DiffModified guifg = #81A1C1 guibg = none")
|
||||
cmd("hi EndOfBuffer guifg=#282c34")
|
||||
|
||||
cmd("hi TelescopeBorder guifg=#3e4451")
|
||||
cmd("hi TelescopePromptBorder guifg=#3e4451")
|
||||
cmd("hi TelescopeResultsBorder guifg=#3e4451")
|
||||
cmd("hi TelescopePreviewBorder guifg=#525865")
|
||||
cmd("hi PmenuSel guibg=#98c379")
|
||||
|
||||
-- tree folder name , icon color
|
||||
cmd("hi NvimTreeFolderIcon guifg = #61afef")
|
||||
cmd("hi NvimTreeFolderName guifg = #61afef")
|
||||
cmd("hi NvimTreeIndentMarker guifg=#545862")
|
||||
|
||||
require("nvim-autopairs").setup()
|
||||
|
||||
require("lspkind").init(
|
||||
{
|
||||
File = " "
|
||||
}
|
||||
)
|
||||
@@ -0,0 +1,54 @@
|
||||
vim.o.termguicolors = true
|
||||
|
||||
-- colors for active , inactive buffer tabs
|
||||
require "bufferline".setup {
|
||||
options = {
|
||||
buffer_close_icon = "",
|
||||
modified_icon = "●",
|
||||
close_icon = "",
|
||||
left_trunc_marker = "",
|
||||
right_trunc_marker = "",
|
||||
max_name_length = 14,
|
||||
max_prefix_length = 13,
|
||||
tab_size = 18,
|
||||
enforce_regular_tabs = true,
|
||||
view = "multiwindow",
|
||||
show_buffer_close_icons = true,
|
||||
separator_style = "thin"
|
||||
},
|
||||
highlights = {
|
||||
background = {
|
||||
guifg = comment_fg,
|
||||
guibg = "#282c34"
|
||||
},
|
||||
fill = {
|
||||
guifg = comment_fg,
|
||||
guibg = "#282c34"
|
||||
},
|
||||
buffer_selected = {
|
||||
guifg = normal_fg,
|
||||
guibg = "#3A3E44",
|
||||
gui = "bold"
|
||||
},
|
||||
separator_visible = {
|
||||
guifg = "#282c34",
|
||||
guibg = "#282c34"
|
||||
},
|
||||
separator_selected = {
|
||||
guifg = "#282c34",
|
||||
guibg = "#282c34"
|
||||
},
|
||||
separator = {
|
||||
guifg = "#282c34",
|
||||
guibg = "#282c34"
|
||||
},
|
||||
indicator_selected = {
|
||||
guifg = "#282c34",
|
||||
guibg = "#282c34"
|
||||
},
|
||||
modified_selected = {
|
||||
guifg = string_fg,
|
||||
guibg = "#3A3E44"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
require("gitsigns").setup {
|
||||
signs = {
|
||||
add = {hl = "DiffAdd", text = "▌", numhl = "GitSignsAddNr"},
|
||||
change = {hl = "DiffChange", text = "▌", numhl = "GitSignsChangeNr"},
|
||||
delete = {hl = "DiffDelete", text = "_", numhl = "GitSignsDeleteNr"},
|
||||
topdelete = {hl = "DiffDelete", text = "‾", numhl = "GitSignsDeleteNr"},
|
||||
changedelete = {hl = "DiffChange", text = "~", numhl = "GitSignsChangeNr"}
|
||||
},
|
||||
numhl = false,
|
||||
keymaps = {
|
||||
-- Default keymap options
|
||||
noremap = true,
|
||||
buffer = true,
|
||||
["n ]c"] = {expr = true, '&diff ? \']c\' : \'<cmd>lua require"gitsigns".next_hunk()<CR>\''},
|
||||
["n [c"] = {expr = true, '&diff ? \'[c\' : \'<cmd>lua require"gitsigns".prev_hunk()<CR>\''},
|
||||
["n <leader>gs"] = '<cmd>lua require"gitsigns".stage_hunk()<CR>',
|
||||
["n <leader>gu"] = '<cmd>lua require"gitsigns".undo_stage_hunk()<CR>',
|
||||
["n <leader>gr"] = '<cmd>lua require"gitsigns".reset_hunk()<CR>',
|
||||
["n <leader>gp"] = '<cmd>lua require"gitsigns".preview_hunk()<CR>',
|
||||
["n <leader>gb"] = '<cmd>lua require"gitsigns".blame_line()<CR>'
|
||||
},
|
||||
watch_index = {
|
||||
interval = 100
|
||||
},
|
||||
sign_priority = 5,
|
||||
status_formatter = nil -- Use default
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
local function map(mode, lhs, rhs, opts)
|
||||
local options = {noremap = true}
|
||||
if opts then
|
||||
options = vim.tbl_extend("force", options, opts)
|
||||
end
|
||||
vim.api.nvim_set_keymap(mode, lhs, rhs, options)
|
||||
end
|
||||
|
||||
-- keybind list
|
||||
map("", "<leader>c", '"+y')
|
||||
|
||||
-- open terminals
|
||||
map("n", "<C-b>" , [[<Cmd> vnew term://bash<CR>]] , opt) -- split term vertically , over the right
|
||||
map("n", "<C-x>" , [[<Cmd> split term://bash | resize 10 <CR>]] , opt) -- split term vertically , over the right
|
||||
@@ -0,0 +1,62 @@
|
||||
vim.cmd [[packadd nvim-lspconfig]]
|
||||
vim.cmd [[packadd nvim-compe]]
|
||||
|
||||
vim.o.completeopt = "menuone,noselect"
|
||||
|
||||
require "compe".setup {
|
||||
enabled = true,
|
||||
autocomplete = true,
|
||||
debug = false,
|
||||
min_length = 1,
|
||||
preselect = "enable",
|
||||
throttle_time = 80,
|
||||
source_timeout = 200,
|
||||
incomplete_delay = 400,
|
||||
max_abbr_width = 100,
|
||||
max_kind_width = 100,
|
||||
max_menu_width = 100,
|
||||
documentation = false,
|
||||
source = {
|
||||
path = true,
|
||||
buffer = true,
|
||||
calc = true,
|
||||
vsnip = true,
|
||||
nvim_lsp = true,
|
||||
nvim_lua = true,
|
||||
spell = true,
|
||||
tags = true,
|
||||
snippets_nvim = true,
|
||||
treesitter = true
|
||||
}
|
||||
}
|
||||
|
||||
local t = function(str)
|
||||
return vim.api.nvim_replace_termcodes(str, true, true, true)
|
||||
end
|
||||
_G.s_tab_complete = function()
|
||||
if vim.fn.pumvisible() == 1 then
|
||||
return t "<C-p>"
|
||||
elseif vim.fn.call("vsnip#jumpable", {-1}) == 1 then
|
||||
return t "<Plug>(vsnip-jump-prev)"
|
||||
else
|
||||
return t "<S-Tab>"
|
||||
end
|
||||
end
|
||||
|
||||
-- mappings
|
||||
|
||||
vim.api.nvim_set_keymap("s", "<Tab>", "v:lua.tab_complete()", {expr = true})
|
||||
vim.api.nvim_set_keymap("i", "<S-Tab>", "v:lua.s_tab_complete()", {expr = true})
|
||||
vim.api.nvim_set_keymap("s", "<S-Tab>", "v:lua.s_tab_complete()", {expr = true})
|
||||
|
||||
function _G.completions()
|
||||
local npairs = require("nvim-autopairs")
|
||||
if vim.fn.pumvisible() == 1 then
|
||||
if vim.fn.complete_info()["selected"] ~= -1 then
|
||||
return vim.fn["compe#confirm"]("<CR>")
|
||||
end
|
||||
end
|
||||
return npairs.check_break_line_char()
|
||||
end
|
||||
|
||||
vim.api.nvim_set_keymap("i", "<CR>", "v:lua.completions()", {expr = true})
|
||||
@@ -0,0 +1,32 @@
|
||||
vim.cmd [[packadd nvim-lspconfig]]
|
||||
vim.cmd [[packadd nvim-compe]]
|
||||
|
||||
local function buf_set_keymap(...)
|
||||
vim.api.nvim_buf_set_keymap(bufnr, ...)
|
||||
end
|
||||
local function buf_set_option(...)
|
||||
vim.api.nvim_buf_set_option(bufnr, ...)
|
||||
end
|
||||
|
||||
buf_set_option("omnifunc", "v:lua.vim.lsp.omnifunc")
|
||||
|
||||
-- Mappings.
|
||||
local opts = {noremap = true, silent = true}
|
||||
buf_set_keymap("n", "gD", "<Cmd>lua vim.lsp.buf.declaration()<CR>", opts)
|
||||
buf_set_keymap("n", "gd", "<Cmd>lua vim.lsp.buf.definition()<CR>", opts)
|
||||
buf_set_keymap("n", "K", "<Cmd>lua vim.lsp.buf.hover()<CR>", opts)
|
||||
buf_set_keymap("n", "gi", "<cmd>lua vim.lsp.buf.implementation()<CR>", opts)
|
||||
buf_set_keymap("n", "<C-k>", "<cmd>lua vim.lsp.buf.signature_help()<CR>", opts)
|
||||
buf_set_keymap("n", "<space>wa", "<cmd>lua vim.lsp.buf.add_workspace_folder()<CR>", opts)
|
||||
buf_set_keymap("n", "<space>wr", "<cmd>lua vim.lsp.buf.remove_workspace_folder()<CR>", opts)
|
||||
buf_set_keymap("n", "<space>wl", "<cmd>lua print(vim.inspect(vim.lsp.buf.list_workspace_folders()))<CR>", opts)
|
||||
buf_set_keymap("n", "<space>D", "<cmd>lua vim.lsp.buf.type_definition()<CR>", opts)
|
||||
buf_set_keymap("n", "<space>rn", "<cmd>lua vim.lsp.buf.rename()<CR>", opts)
|
||||
buf_set_keymap("n", "gr", "<cmd>lua vim.lsp.buf.references()<CR>", opts)
|
||||
buf_set_keymap("n", "<space>e", "<cmd>lua vim.lsp.diagnostic.show_line_diagnostics()<CR>", opts)
|
||||
buf_set_keymap("n", "[d", "<cmd>lua vim.lsp.diagnostic.goto_prev()<CR>", opts)
|
||||
buf_set_keymap("n", "]d", "<cmd>lua vim.lsp.diagnostic.goto_next()<CR>", opts)
|
||||
buf_set_keymap("n", "<space>q", "<cmd>lua vim.lsp.diagnostic.set_loclist()<CR>", opts)
|
||||
|
||||
-- lsp for html , css and js/ts
|
||||
require "lspconfig".gopls.setup {}
|
||||
@@ -0,0 +1,85 @@
|
||||
vim.cmd [[packadd nvim-tree.lua]]
|
||||
|
||||
vim.o.termguicolors = true
|
||||
|
||||
vim.g.nvim_tree_side = "left"
|
||||
vim.g.nvim_tree_width = 24
|
||||
vim.g.nvim_tree_ignore = {".git", "node_modules", ".cache"}
|
||||
vim.g.nvim_tree_auto_open = 1
|
||||
vim.g.nvim_tree_auto_close = 1
|
||||
vim.g.nvim_tree_quit_on_open = 0
|
||||
vim.g.nvim_tree_follow = 1
|
||||
vim.g.nvim_tree_indent_markers = 1
|
||||
vim.g.nvim_tree_hide_dotfiles = 1
|
||||
vim.g.nvim_tree_git_hl = 1
|
||||
vim.g.nvim_tree_root_folder_modifier = ":~"
|
||||
vim.g.nvim_tree_tab_open = 1
|
||||
vim.g.nvim_tree_allow_resize = 1
|
||||
|
||||
vim.g.nvim_tree_show_icons = {
|
||||
git = 1,
|
||||
folders = 1,
|
||||
files = 1
|
||||
}
|
||||
|
||||
vim.g.nvim_tree_icons = {
|
||||
default = " ",
|
||||
symlink = " ",
|
||||
git = {
|
||||
unstaged = "✗",
|
||||
staged = "✓",
|
||||
unmerged = "",
|
||||
renamed = "➜",
|
||||
untracked = "★"
|
||||
},
|
||||
folder = {
|
||||
default = "",
|
||||
open = "",
|
||||
symlink = ""
|
||||
}
|
||||
}
|
||||
|
||||
local get_lua_cb = function(cb_name)
|
||||
return string.format(":lua require'nvim-tree'.on_keypress('%s')<CR>", cb_name)
|
||||
end
|
||||
|
||||
-- Mappings for nvimtree
|
||||
|
||||
vim.api.nvim_set_keymap(
|
||||
"n",
|
||||
"<C-n>",
|
||||
":NvimTreeToggle<CR>",
|
||||
{
|
||||
noremap = true,
|
||||
silent = true
|
||||
}
|
||||
)
|
||||
|
||||
vim.g.nvim_tree_bindings = {
|
||||
["<CR>"] = get_lua_cb("edit"),
|
||||
["l"] = get_lua_cb("edit"),
|
||||
["o"] = get_lua_cb("edit"),
|
||||
["<2-LeftMouse>"] = get_lua_cb("edit"),
|
||||
["<2-RightMouse>"] = get_lua_cb("cd"),
|
||||
["<C-]>"] = get_lua_cb("cd"),
|
||||
["<C-v>"] = get_lua_cb("vsplit"),
|
||||
["<C-x>"] = get_lua_cb("split"),
|
||||
["<C-t>"] = get_lua_cb("tabnew"),
|
||||
["<BS>"] = get_lua_cb("close_node"),
|
||||
["<S-CR>"] = get_lua_cb("close_node"),
|
||||
["<Tab>"] = get_lua_cb("preview"),
|
||||
["I"] = get_lua_cb("toggle_ignored"),
|
||||
["H"] = get_lua_cb("toggle_dotfiles"),
|
||||
["R"] = get_lua_cb("refresh"),
|
||||
["n"] = get_lua_cb("create"),
|
||||
["d"] = get_lua_cb("remove"),
|
||||
["r"] = get_lua_cb("rename"),
|
||||
["<C-r>"] = get_lua_cb("full_rename"),
|
||||
["x"] = get_lua_cb("cut"),
|
||||
["c"] = get_lua_cb("copy"),
|
||||
["p"] = get_lua_cb("paste"),
|
||||
["[c"] = get_lua_cb("prev_git_item"),
|
||||
["]c"] = get_lua_cb("next_git_item"),
|
||||
["-"] = get_lua_cb("dir_up"),
|
||||
["q"] = get_lua_cb("close")
|
||||
}
|
||||
@@ -0,0 +1,30 @@
|
||||
-- check if packer is installed (~/local/share/nvim/site/pack)
|
||||
local packer_exists = pcall(vim.cmd, [[packadd packer.nvim]])
|
||||
|
||||
return require("packer").startup(
|
||||
function()
|
||||
use {"wbthomason/packer.nvim", opt = true}
|
||||
use {"kyazdani42/nvim-web-devicons"}
|
||||
use {"kyazdani42/nvim-tree.lua"}
|
||||
use {"nvim-lua/plenary.nvim"}
|
||||
use {"lewis6991/gitsigns.nvim"}
|
||||
use {"glepnir/galaxyline.nvim"}
|
||||
use {"akinsho/nvim-bufferline.lua"}
|
||||
use {"907th/vim-auto-save"}
|
||||
use {"nvim-treesitter/nvim-treesitter"}
|
||||
use {"chriskempson/base16-vim"}
|
||||
use {"norcalli/nvim-colorizer.lua"}
|
||||
use { 'Yggdroot/indentLine'}
|
||||
use {"ryanoasis/vim-devicons"}
|
||||
use {"sbdchd/neoformat"}
|
||||
use {"neovim/nvim-lspconfig"}
|
||||
use {"hrsh7th/nvim-compe"}
|
||||
use {"windwp/nvim-autopairs"}
|
||||
use {"alvan/vim-closetag"}
|
||||
use {"tweekmonster/startuptime.vim"}
|
||||
use {"onsails/lspkind-nvim"}
|
||||
use {"nvim-telescope/telescope.nvim"}
|
||||
use {"nvim-telescope/telescope-media-files.nvim"}
|
||||
use {"nvim-lua/popup.nvim"}
|
||||
end
|
||||
)
|
||||
@@ -0,0 +1,204 @@
|
||||
local gl = require("galaxyline")
|
||||
local gls = gl.section
|
||||
gl.short_line_list = {"LuaTree", "vista", "dbui"}
|
||||
|
||||
local colors = {
|
||||
bg = "#282c34",
|
||||
line_bg = "#282c34",
|
||||
fg = "#D8DEE9",
|
||||
fg_green = "#65a380",
|
||||
yellow = "#A3BE8C",
|
||||
cyan = "#22262C",
|
||||
darkblue = "#61afef",
|
||||
green = "#BBE67E",
|
||||
orange = "#FF8800",
|
||||
purple = "#252930",
|
||||
magenta = "#c678dd",
|
||||
blue = "#22262C",
|
||||
red = "#DF8890",
|
||||
lightbg = "#3C4048",
|
||||
nord = "#81A1C1",
|
||||
greenYel = "#EBCB8B"
|
||||
}
|
||||
|
||||
gls.left[1] = {
|
||||
leftRounded = {
|
||||
provider = function()
|
||||
return ""
|
||||
end,
|
||||
highlight = {colors.nord, colors.bg}
|
||||
}
|
||||
}
|
||||
|
||||
gls.left[2] = {
|
||||
ViMode = {
|
||||
provider = function()
|
||||
return " "
|
||||
end,
|
||||
highlight = {colors.bg, colors.nord},
|
||||
separator = " ",
|
||||
separator_highlight = {colors.lightbg, colors.lightbg}
|
||||
}
|
||||
}
|
||||
|
||||
gls.left[3] = {
|
||||
FileIcon = {
|
||||
provider = "FileIcon",
|
||||
condition = buffer_not_empty,
|
||||
highlight = {require("galaxyline.provider_fileinfo").get_file_icon_color, colors.lightbg}
|
||||
}
|
||||
}
|
||||
|
||||
gls.left[4] = {
|
||||
FileName = {
|
||||
provider = {"FileName", "FileSize"},
|
||||
condition = buffer_not_empty,
|
||||
highlight = {colors.fg, colors.lightbg}
|
||||
}
|
||||
}
|
||||
|
||||
gls.left[5] = {
|
||||
teech = {
|
||||
provider = function()
|
||||
return ""
|
||||
end,
|
||||
separator = " ",
|
||||
highlight = {colors.lightbg, colors.bg}
|
||||
}
|
||||
}
|
||||
|
||||
local checkwidth = function()
|
||||
local squeeze_width = vim.fn.winwidth(0) / 2
|
||||
if squeeze_width > 40 then
|
||||
return true
|
||||
end
|
||||
return false
|
||||
end
|
||||
|
||||
gls.left[6] = {
|
||||
DiffAdd = {
|
||||
provider = "DiffAdd",
|
||||
condition = checkwidth,
|
||||
icon = " ",
|
||||
highlight = {colors.greenYel, colors.line_bg}
|
||||
}
|
||||
}
|
||||
|
||||
gls.left[7] = {
|
||||
DiffModified = {
|
||||
provider = "DiffModified",
|
||||
condition = checkwidth,
|
||||
icon = " ",
|
||||
highlight = {colors.orange, colors.line_bg}
|
||||
}
|
||||
}
|
||||
|
||||
gls.left[8] = {
|
||||
DiffRemove = {
|
||||
provider = "DiffRemove",
|
||||
condition = checkwidth,
|
||||
icon = " ",
|
||||
highlight = {colors.red, colors.line_bg}
|
||||
}
|
||||
}
|
||||
|
||||
gls.left[9] = {
|
||||
LeftEnd = {
|
||||
provider = function()
|
||||
return " "
|
||||
end,
|
||||
separator = " ",
|
||||
separator_highlight = {colors.line_bg, colors.line_bg},
|
||||
highlight = {colors.line_bg, colors.line_bg}
|
||||
}
|
||||
}
|
||||
|
||||
gls.left[10] = {
|
||||
DiagnosticError = {
|
||||
provider = "DiagnosticError",
|
||||
icon = " ",
|
||||
highlight = {colors.red, colors.bg}
|
||||
}
|
||||
}
|
||||
|
||||
gls.left[11] = {
|
||||
Space = {
|
||||
provider = function()
|
||||
return " "
|
||||
end,
|
||||
highlight = {colors.line_bg, colors.line_bg}
|
||||
}
|
||||
}
|
||||
|
||||
gls.left[12] = {
|
||||
DiagnosticWarn = {
|
||||
provider = "DiagnosticWarn",
|
||||
icon = " ",
|
||||
highlight = {colors.blue, colors.bg}
|
||||
}
|
||||
}
|
||||
|
||||
gls.right[1] = {
|
||||
GitIcon = {
|
||||
provider = function()
|
||||
return " "
|
||||
end,
|
||||
condition = require("galaxyline.provider_vcs").check_git_workspace,
|
||||
highlight = {colors.green, colors.line_bg}
|
||||
}
|
||||
}
|
||||
|
||||
gls.right[2] = {
|
||||
GitBranch = {
|
||||
provider = "GitBranch",
|
||||
condition = require("galaxyline.provider_vcs").check_git_workspace,
|
||||
highlight = {colors.green, colors.line_bg}
|
||||
}
|
||||
}
|
||||
|
||||
gls.right[3] = {
|
||||
right_LeftRounded = {
|
||||
provider = function()
|
||||
return ""
|
||||
end,
|
||||
separator = " ",
|
||||
separator_highlight = {colors.bg, colors.bg},
|
||||
highlight = {colors.red, colors.bg}
|
||||
}
|
||||
}
|
||||
|
||||
gls.right[4] = {
|
||||
SiMode = {
|
||||
provider = function()
|
||||
local alias = {
|
||||
n = "NORMAL",
|
||||
i = "INSERT",
|
||||
c = "COMMAND",
|
||||
V = "VISUAL",
|
||||
[""] = "VISUAL",
|
||||
v = "VISUAL",
|
||||
R = "REPLACE"
|
||||
}
|
||||
return alias[vim.fn.mode()]
|
||||
end,
|
||||
highlight = {colors.bg, colors.red}
|
||||
}
|
||||
}
|
||||
|
||||
gls.right[5] = {
|
||||
PerCent = {
|
||||
provider = "LinePercent",
|
||||
separator = " ",
|
||||
separator_highlight = {colors.red, colors.red},
|
||||
highlight = {colors.bg, colors.fg}
|
||||
}
|
||||
}
|
||||
|
||||
gls.right[6] = {
|
||||
rightRounded = {
|
||||
provider = function()
|
||||
return ""
|
||||
end,
|
||||
highlight = {colors.fg, colors.bg}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,76 @@
|
||||
require("telescope").setup {
|
||||
defaults = {
|
||||
vimgrep_arguments = {
|
||||
"rg",
|
||||
"--color=never",
|
||||
"--no-heading",
|
||||
"--with-filename",
|
||||
"--line-number",
|
||||
"--column",
|
||||
"--smart-case"
|
||||
},
|
||||
prompt_position = "bottom",
|
||||
prompt_prefix = "> ",
|
||||
selection_caret = "> ",
|
||||
entry_prefix = " ",
|
||||
initial_mode = "insert",
|
||||
selection_strategy = "reset",
|
||||
sorting_strategy = "descending",
|
||||
layout_strategy = "horizontal",
|
||||
layout_defaults = {
|
||||
horizontal = {
|
||||
mirror = false,
|
||||
preview_width = 0.5
|
||||
},
|
||||
vertical = {
|
||||
mirror = false
|
||||
}
|
||||
},
|
||||
file_sorter = require "telescope.sorters".get_fuzzy_file,
|
||||
file_ignore_patterns = {},
|
||||
generic_sorter = require "telescope.sorters".get_generic_fuzzy_sorter,
|
||||
shorten_path = true,
|
||||
winblend = 0,
|
||||
width = 0.75,
|
||||
preview_cutoff = 120,
|
||||
results_height = 1,
|
||||
results_width = 0.8,
|
||||
border = {},
|
||||
borderchars = {"─", "│", "─", "│", "╭", "╮", "╯", "╰"},
|
||||
color_devicons = true,
|
||||
use_less = true,
|
||||
set_env = {["COLORTERM"] = "truecolor"}, -- default = nil,
|
||||
file_previewer = require "telescope.previewers".vim_buffer_cat.new,
|
||||
grep_previewer = require "telescope.previewers".vim_buffer_vimgrep.new,
|
||||
qflist_previewer = require "telescope.previewers".vim_buffer_qflist.new,
|
||||
-- Developer configurations: Not meant for general override
|
||||
buffer_previewer_maker = require "telescope.previewers".buffer_previewer_maker
|
||||
},
|
||||
extensions = {
|
||||
media_files = {
|
||||
filetypes = {"png", "webp", "jpg", "jpeg"},
|
||||
find_cmd = "rg" -- find command (defaults to `fd`)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
require("telescope").load_extension("media_files")
|
||||
|
||||
local opt = {noremap = true, silent = true}
|
||||
|
||||
vim.g.mapleader = " "
|
||||
|
||||
-- mappings
|
||||
vim.api.nvim_set_keymap("n", "<Leader>ff", [[<Cmd>lua require('telescope.builtin').find_files()<CR>]], opt)
|
||||
vim.api.nvim_set_keymap(
|
||||
"n",
|
||||
"<Leader>fp",
|
||||
[[<Cmd>lua require('telescope').extensions.media_files.media_files()<CR>]],
|
||||
opt
|
||||
)
|
||||
vim.api.nvim_set_keymap("n", "<Leader>fb", [[<Cmd>lua require('telescope.builtin').buffers()<CR>]], opt)
|
||||
vim.api.nvim_set_keymap("n", "<Leader>fh", [[<Cmd>lua require('telescope.builtin').help_tags()<CR>]], opt)
|
||||
vim.api.nvim_set_keymap("n", "<Leader>fo", [[<Cmd>lua require('telescope.builtin').oldfiles()<CR>]], opt)
|
||||
vim.api.nvim_set_keymap("n", "<Leader>fm", [[<Cmd> Neoformat<CR>]], opt)
|
||||
|
||||
vim.api.nvim_set_keymap("n", "<C-a>", [[ <Cmd> %y+<CR>]], opt)
|
||||
@@ -0,0 +1,18 @@
|
||||
local ts_config = require("nvim-treesitter.configs")
|
||||
|
||||
ts_config.setup {
|
||||
ensure_installed = {
|
||||
"javascript",
|
||||
"html",
|
||||
"css",
|
||||
"bash",
|
||||
"cpp",
|
||||
"rust",
|
||||
"lua",
|
||||
"go",
|
||||
},
|
||||
highlight = {
|
||||
enable = true,
|
||||
use_languagetree = true
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,43 @@
|
||||
local scopes = {o = vim.o, b = vim.bo, w = vim.wo}
|
||||
|
||||
local function opt(scope, key, value)
|
||||
scopes[scope][key] = value
|
||||
if scope ~= "o" then
|
||||
scopes["o"][key] = value
|
||||
end
|
||||
end
|
||||
|
||||
opt("o", "hidden", true)
|
||||
opt("o", "ignorecase", true)
|
||||
opt("o", "splitbelow", true)
|
||||
opt("o", "splitright", true)
|
||||
opt("o", "termguicolors", true)
|
||||
opt("w", "number", true)
|
||||
opt("o", "numberwidth", 2)
|
||||
|
||||
opt("o", "mouse", "a")
|
||||
|
||||
opt("w", "signcolumn", "yes")
|
||||
opt("o", "cmdheight", 1)
|
||||
|
||||
opt("o", "updatetime", 250) -- update interval for gitsigns
|
||||
opt("o", "clipboard", "unnamedplus")
|
||||
|
||||
-- for indenline
|
||||
opt("b", "expandtab", true )
|
||||
opt("b", "shiftwidth", 2 )
|
||||
|
||||
|
||||
local M = {}
|
||||
|
||||
function M.is_buffer_empty()
|
||||
-- Check whether the current buffer is empty
|
||||
return vim.fn.empty(vim.fn.expand("%:t")) == 1
|
||||
end
|
||||
|
||||
function M.has_width_gt(cols)
|
||||
-- Check if the windows width is greater than a given number of columns
|
||||
return vim.fn.winwidth(0) / 2 > cols
|
||||
end
|
||||
|
||||
return M
|
||||
@@ -0,0 +1,71 @@
|
||||
vim.cmd [[packadd nvim-web-devicons]]
|
||||
|
||||
require "nvim-web-devicons".setup {
|
||||
override = {
|
||||
html = {
|
||||
icon = "",
|
||||
color = "#DE8C92",
|
||||
name = "html"
|
||||
},
|
||||
css = {
|
||||
icon = "",
|
||||
color = "#61afef",
|
||||
name = "css"
|
||||
},
|
||||
js = {
|
||||
icon = "",
|
||||
color = "#EBCB8B",
|
||||
name = "js"
|
||||
},
|
||||
png = {
|
||||
icon = " ",
|
||||
color = "#BD77DC",
|
||||
name = "png"
|
||||
},
|
||||
jpg = {
|
||||
icon = " ",
|
||||
color = "#BD77DC",
|
||||
name = "jpg"
|
||||
},
|
||||
jpeg = {
|
||||
icon = " ",
|
||||
color = "#BD77DC",
|
||||
name = "jpeg"
|
||||
},
|
||||
mp3 = {
|
||||
icon = "",
|
||||
color = "#C8CCD4",
|
||||
name = "mp3"
|
||||
},
|
||||
mp4 = {
|
||||
icon = "",
|
||||
color = "#C8CCD4",
|
||||
name = "mp4"
|
||||
},
|
||||
out = {
|
||||
icon = "",
|
||||
color = "#C8CCD4",
|
||||
name = "out"
|
||||
},
|
||||
toml = {
|
||||
icon = "",
|
||||
color = "#61afef",
|
||||
name = "toml"
|
||||
},
|
||||
lock = {
|
||||
icon = "",
|
||||
color = "#DE6B74",
|
||||
name = "lock"
|
||||
},
|
||||
zip = {
|
||||
icon = "",
|
||||
color = "#EBCB8B",
|
||||
name = "zip"
|
||||
},
|
||||
xz = {
|
||||
icon = "",
|
||||
color = "#EBCB8B",
|
||||
name = "xz"
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user