Update settings
This commit is contained in:
29
init.lua
29
init.lua
@@ -1,37 +1,22 @@
|
|||||||
-- Import core configuration
|
-- Core configuration
|
||||||
require("core")
|
require "core"
|
||||||
|
|
||||||
-- Bootstrap lazy.nvim
|
-- Bootstrap lazy.nvim
|
||||||
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.uv or vim.loop).fs_stat(lazypath) then
|
||||||
vim.fn.system({
|
vim.fn.system({
|
||||||
"git",
|
"git",
|
||||||
"clone",
|
"clone",
|
||||||
"--filter=blob:none",
|
"--filter=blob:none",
|
||||||
"https://github.com/folke/lazy.nvim.git",
|
"https://github.com/folke/lazy.nvim.git",
|
||||||
"--branch=stable",
|
"--branch=stable",
|
||||||
lazypath
|
lazypath,
|
||||||
})
|
})
|
||||||
end
|
end
|
||||||
vim.opt.rtp:prepend(lazypath)
|
vim.opt.rtp:prepend(lazypath)
|
||||||
|
|
||||||
-- Import plugins
|
-- Init plugins
|
||||||
require("lazy").setup("plugins")
|
require("lazy").setup("plugins")
|
||||||
|
|
||||||
-- Set vim.notify
|
-- Theme
|
||||||
vim.notify = require("notify")
|
vim.cmd [[colorscheme tokyonight]]
|
||||||
|
|
||||||
-- Terminal mappings
|
|
||||||
function _G.set_terminal_keymaps()
|
|
||||||
local opts = { buffer = 0 }
|
|
||||||
local set = vim.keymap.set
|
|
||||||
set("t", "<esc>", [[<C-\><C-n>]], opts)
|
|
||||||
set("t", "jk", [[<C-\><C-n>]], opts)
|
|
||||||
set("t", "<C-h>", [[<Cmd>wincmd h<CR>]], opts)
|
|
||||||
set("t", "<C-j>", [[<Cmd>wincmd j<CR>]], opts)
|
|
||||||
set("t", "<C-k>", [[<Cmd>wincmd k<CR>]], opts)
|
|
||||||
set("t", "<C-l>", [[<Cmd>wincmd l<CR>]], opts)
|
|
||||||
set("t", "<C-w>", [[<C-\><C-n><C-w>]], opts)
|
|
||||||
end
|
|
||||||
|
|
||||||
vim.cmd("autocmd! TermOpen term://*toggleterm#* lua set_terminal_keymaps()")
|
|
||||||
|
|||||||
@@ -1,40 +1,5 @@
|
|||||||
{
|
{
|
||||||
"Comment.nvim": { "branch": "master", "commit": "0236521ea582747b58869cb72f70ccfa967d2e89" },
|
"lazy.nvim": { "branch": "main", "commit": "bef521ac89c8d423f9d092e37b58e8af0c099309" },
|
||||||
"LuaSnip": { "branch": "master", "commit": "2dbef19461198630b3d7c39f414d09fb07d1fdd2" },
|
"tokyonight.nvim": { "branch": "main", "commit": "9bf9ec53d5e87b025e2404069b71e7ebdc3a13e5" },
|
||||||
"bigfile.nvim": { "branch": "main", "commit": "33eb067e3d7029ac77e081cfe7c45361887a311a" },
|
"vim-wakatime": { "branch": "master", "commit": "5d11a253dd1ecabd4612a885175216032d814300" }
|
||||||
"buffer_manager.nvim": { "branch": "main", "commit": "9cd0e34522d96d08817828f1e9fd3379f27efb73" },
|
|
||||||
"cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" },
|
|
||||||
"cmp-nvim-lsp": { "branch": "main", "commit": "5af77f54de1b16c34b23cba810150689a3a90312" },
|
|
||||||
"cmp_luasnip": { "branch": "master", "commit": "05a9ab28b53f71d1aece421ef32fee2cb857a843" },
|
|
||||||
"diffview.nvim": { "branch": "main", "commit": "3dc498c9777fe79156f3d32dddd483b8b3dbd95f" },
|
|
||||||
"dressing.nvim": { "branch": "master", "commit": "6f212262061a2120e42da0d1e87326e8a41c0478" },
|
|
||||||
"flutter-tools.nvim": { "branch": "main", "commit": "271eec9edb0f1a2bf30ad449ec3b4eeb2c88af05" },
|
|
||||||
"gitsigns.nvim": { "branch": "main", "commit": "2c2463dbd82eddd7dbab881c3a62cfbfbe3c67ae" },
|
|
||||||
"go.nvim": { "branch": "master", "commit": "b111775c494105045803f65c66029012ffeb4d9a" },
|
|
||||||
"guihua.lua": { "branch": "master", "commit": "9fb6795474918b492d9ab01b1ebaf85e8bf6fe0b" },
|
|
||||||
"image.nvim": { "branch": "master", "commit": "77df64af37ff68a1f593aa4f79b42b1388479239" },
|
|
||||||
"indent-blankline.nvim": { "branch": "master", "commit": "12e92044d313c54c438bd786d11684c88f6f78cd" },
|
|
||||||
"lazy.nvim": { "branch": "main", "commit": "aedcd79811d491b60d0a6577a9c1701063c2a609" },
|
|
||||||
"lsp_signature.nvim": { "branch": "master", "commit": "fed2c8389c148ff1dfdcdca63c2b48d08a50dea0" },
|
|
||||||
"lualine.nvim": { "branch": "master", "commit": "7d131a8d3ba5016229e8a1d08bf8782acea98852" },
|
|
||||||
"mason-lspconfig.nvim": { "branch": "main", "commit": "0954d7730e749d606ddf8d7ae8846848be435d53" },
|
|
||||||
"mason.nvim": { "branch": "main", "commit": "c43eeb5614a09dc17c03a7fb49de2e05de203924" },
|
|
||||||
"neo-tree.nvim": { "branch": "v3.x", "commit": "e578fe7a5832421b0d2c5b3c0a7a1e40e0f6a47a" },
|
|
||||||
"neogit": { "branch": "master", "commit": "536b4cfc009fc6d8bd771f010f04d48204533fae" },
|
|
||||||
"neorg": { "branch": "main", "commit": "7cf5382821f661aee958bcaf7bc4111c11e6863a" },
|
|
||||||
"nui.nvim": { "branch": "main", "commit": "35da9ca1de0fc4dda96c2e214d93d363c145f418" },
|
|
||||||
"nvim-autopairs": { "branch": "master", "commit": "096d0baecc34f6c5d8a6dd25851e9d5ad338209b" },
|
|
||||||
"nvim-cmp": { "branch": "main", "commit": "04e0ca376d6abdbfc8b52180f8ea236cbfddf782" },
|
|
||||||
"nvim-lspconfig": { "branch": "master", "commit": "1bc83418927003552505ec66fa5d6cffae953f6a" },
|
|
||||||
"nvim-notify": { "branch": "master", "commit": "80b67b265530632505193553d05127ae7fe09ddd" },
|
|
||||||
"nvim-treesitter": { "branch": "master", "commit": "b444afa1dacd3d031c0ffe4763671d89afda5ddb" },
|
|
||||||
"nvim-ts-autotag": { "branch": "main", "commit": "531f48334c422222aebc888fd36e7d109cb354cd" },
|
|
||||||
"nvim-web-devicons": { "branch": "master", "commit": "313d9e7193354c5de7cdb1724f9e2d3f442780b0" },
|
|
||||||
"plenary.nvim": { "branch": "master", "commit": "4f71c0c4a196ceb656c824a70792f3df3ce6bb6d" },
|
|
||||||
"telescope-fzf-native.nvim": { "branch": "main", "commit": "6c921ca12321edaa773e324ef64ea301a1d0da62" },
|
|
||||||
"telescope.nvim": { "branch": "master", "commit": "d90956833d7c27e73c621a61f20b29fdb7122709" },
|
|
||||||
"toggleterm.nvim": { "branch": "main", "commit": "cbd041d91b90cd3c02df03fe6133208888f8e008" },
|
|
||||||
"tokyonight.nvim": { "branch": "main", "commit": "610179f7f12db3d08540b6cc61434db2eaecbcff" },
|
|
||||||
"vim-wakatime": { "branch": "master", "commit": "a4c66faea1eca47dce7c7c3586332f75cfbe9edf" },
|
|
||||||
"which-key.nvim": { "branch": "main", "commit": "4433e5ec9a507e5097571ed55c02ea9658fb268a" }
|
|
||||||
}
|
}
|
||||||
22
lua/core/autocmds.lua
Normal file
22
lua/core/autocmds.lua
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
local api = vim.api
|
||||||
|
|
||||||
|
-- Set cargo for .rs files
|
||||||
|
api.nvim_create_autocmd({ "BufEnter", "BufWinEnter" }, {
|
||||||
|
pattern = { "*.rs" },
|
||||||
|
command = "compiler cargo"
|
||||||
|
})
|
||||||
|
|
||||||
|
-- Indentation for .go files
|
||||||
|
api.nvim_create_autocmd({ "BufEnter", "BufWinEnter" }, {
|
||||||
|
pattern = { "*.go" },
|
||||||
|
callback = function()
|
||||||
|
vim.cmd [[Tabs 4]]
|
||||||
|
vim.cmd [[set nolist]]
|
||||||
|
end
|
||||||
|
})
|
||||||
|
|
||||||
|
-- Set tsc for .ts files
|
||||||
|
api.nvim_create_autocmd({ "BufEnter", "BufWinEnter" }, {
|
||||||
|
pattern = { "*.ts", "*.tsx" },
|
||||||
|
command = "compiler tsc"
|
||||||
|
})
|
||||||
23
lua/core/commands.lua
Normal file
23
lua/core/commands.lua
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
local api, opt = vim.api, vim.opt
|
||||||
|
|
||||||
|
local function indent(n, expand)
|
||||||
|
local size = 4
|
||||||
|
if n ~= "" then size = n end
|
||||||
|
|
||||||
|
local num = tonumber(size)
|
||||||
|
if num then
|
||||||
|
size = num
|
||||||
|
end
|
||||||
|
|
||||||
|
opt.expandtab = expand
|
||||||
|
opt.shiftwidth = size
|
||||||
|
opt.tabstop = size
|
||||||
|
end
|
||||||
|
|
||||||
|
api.nvim_create_user_command("Tabs", function(v)
|
||||||
|
indent(v.args, false)
|
||||||
|
end, { nargs = "?" })
|
||||||
|
|
||||||
|
api.nvim_create_user_command("Spaces", function(v)
|
||||||
|
indent(v.args, true)
|
||||||
|
end, { nargs = "?" })
|
||||||
@@ -1,50 +1,4 @@
|
|||||||
local opt, g, api =
|
require "core.settings"
|
||||||
vim.opt,
|
require "core.commands"
|
||||||
vim.g,
|
require "core.autocmds"
|
||||||
vim.api
|
require "core.keys"
|
||||||
|
|
||||||
-- Disable netrw
|
|
||||||
-- g.loaded_netrw = 1
|
|
||||||
-- g.loaded_netrwPlugin = 1
|
|
||||||
|
|
||||||
-- Settings
|
|
||||||
g.mapleader = " "
|
|
||||||
g.maplocalleader = ","
|
|
||||||
|
|
||||||
opt.backup = false
|
|
||||||
opt.swapfile = false
|
|
||||||
opt.termguicolors = true
|
|
||||||
opt.number = true
|
|
||||||
opt.relativenumber = true
|
|
||||||
opt.mouse = "a"
|
|
||||||
opt.hidden = true
|
|
||||||
opt.scrolloff = 8
|
|
||||||
|
|
||||||
-- Indentation
|
|
||||||
opt.expandtab = true
|
|
||||||
opt.smartindent = true
|
|
||||||
opt.shiftwidth = 4
|
|
||||||
opt.tabstop = 4
|
|
||||||
|
|
||||||
-- Commands
|
|
||||||
local function indent(n, expand)
|
|
||||||
local size = 4
|
|
||||||
if n ~= "" then size = n end
|
|
||||||
|
|
||||||
local num = tonumber(size)
|
|
||||||
if num then
|
|
||||||
size = num
|
|
||||||
end
|
|
||||||
|
|
||||||
opt.expandtab = expand
|
|
||||||
opt.shiftwidth = size
|
|
||||||
opt.tabstop = size
|
|
||||||
end
|
|
||||||
|
|
||||||
api.nvim_create_user_command("Tabs", function(v)
|
|
||||||
indent(v.args, false)
|
|
||||||
end, { nargs = "?" })
|
|
||||||
|
|
||||||
api.nvim_create_user_command("Spaces", function(v)
|
|
||||||
indent(v.args, true)
|
|
||||||
end, { nargs = "?" })
|
|
||||||
|
|||||||
23
lua/core/keys.lua
Normal file
23
lua/core/keys.lua
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
local function map(mode, lhs, rhs)
|
||||||
|
vim.api.nvim_set_keymap(mode, lhs, rhs, {})
|
||||||
|
end
|
||||||
|
|
||||||
|
-- Buffer navigation
|
||||||
|
map("n", "<Tab>", ":bnext<CR>")
|
||||||
|
map("n", "<S-Tab>", ":bprevious<CR>")
|
||||||
|
map("n", "<leader>x", ":bd!<CR>")
|
||||||
|
|
||||||
|
-- Resize buffer splits
|
||||||
|
map("n", "<S-Left>", ":vertical resize +3<CR>")
|
||||||
|
map("n", "<S-Right>", ":vertical resize -3<CR>")
|
||||||
|
map("n", "<S-Down>", ":horizontal resize +3<CR>")
|
||||||
|
map("n", "<S-Up>", ":horizontal resize -3<CR>")
|
||||||
|
|
||||||
|
-- Netrw
|
||||||
|
map("n", "<C-n>", ":Exp<CR>")
|
||||||
|
|
||||||
|
-- Remove highlights
|
||||||
|
map("n", "<leader>h", ":noh<CR>")
|
||||||
|
|
||||||
|
-- Replace (visual)
|
||||||
|
map("v", "<leader>r", "\"hy:%s/<C-r>h//g<left><left>")
|
||||||
40
lua/core/settings.lua
Normal file
40
lua/core/settings.lua
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
local g, opt = vim.g, vim.opt
|
||||||
|
|
||||||
|
-- Settings
|
||||||
|
g.mapleader = " "
|
||||||
|
g.maplocalleader = ","
|
||||||
|
|
||||||
|
opt.backup = false
|
||||||
|
opt.swapfile = false
|
||||||
|
opt.termguicolors = true
|
||||||
|
opt.number = true
|
||||||
|
opt.relativenumber = true
|
||||||
|
opt.scrolloff = 8
|
||||||
|
opt.sidescrolloff = 8
|
||||||
|
opt.title = true
|
||||||
|
-- opt.titlestring = "filename [+=-] - NVIM"
|
||||||
|
opt.wrap = false
|
||||||
|
opt.clipboard = "unnamedplus"
|
||||||
|
opt.splitbelow = true
|
||||||
|
opt.splitright = true
|
||||||
|
opt.showmode = false
|
||||||
|
|
||||||
|
opt.grepprg = "rg --vimgrep --smart-case"
|
||||||
|
opt.path = ".,**"
|
||||||
|
|
||||||
|
-- Netrw
|
||||||
|
g.netrw_banner = 0
|
||||||
|
|
||||||
|
-- Indentation
|
||||||
|
opt.expandtab = true
|
||||||
|
opt.smartindent = true
|
||||||
|
opt.shiftwidth = 4
|
||||||
|
opt.tabstop = 4
|
||||||
|
opt.list = true
|
||||||
|
opt.listchars = "lead:·"
|
||||||
|
|
||||||
|
-- Search
|
||||||
|
vim.opt.ignorecase = true
|
||||||
|
vim.opt.smartcase = true
|
||||||
|
vim.opt.hlsearch = true
|
||||||
|
vim.opt.incsearch = true
|
||||||
@@ -1,33 +0,0 @@
|
|||||||
return {
|
|
||||||
"hrsh7th/nvim-cmp",
|
|
||||||
event = "InsertEnter",
|
|
||||||
dependencies = {
|
|
||||||
"hrsh7th/cmp-nvim-lsp",
|
|
||||||
"hrsh7th/cmp-buffer",
|
|
||||||
"L3MON4D3/LuaSnip",
|
|
||||||
"saadparwaiz1/cmp_luasnip"
|
|
||||||
},
|
|
||||||
config = function()
|
|
||||||
local cmp = require("cmp")
|
|
||||||
|
|
||||||
cmp.setup {
|
|
||||||
snippet = {
|
|
||||||
expand = function(args)
|
|
||||||
require("luasnip").lsp_expand(args.body)
|
|
||||||
end
|
|
||||||
},
|
|
||||||
sources = {
|
|
||||||
{ name = "nvim_lsp" },
|
|
||||||
{ name = "luasnip" }
|
|
||||||
},
|
|
||||||
mapping = cmp.mapping.preset.insert({
|
|
||||||
["<C-Space>"] = cmp.mapping.complete(),
|
|
||||||
["<C-u>"] = cmp.mapping.scroll_docs(-4),
|
|
||||||
["<C-d>"] = cmp.mapping.scroll_docs(4),
|
|
||||||
["<CR>"] = cmp.mapping.confirm({ select = true }),
|
|
||||||
["<Tab>"] = cmp.mapping.select_next_item(),
|
|
||||||
["<S-Tab>"] = cmp.mapping.select_prev_item()
|
|
||||||
})
|
|
||||||
}
|
|
||||||
end
|
|
||||||
}
|
|
||||||
@@ -1,14 +0,0 @@
|
|||||||
return {
|
|
||||||
"ray-x/go.nvim",
|
|
||||||
dependencies = {
|
|
||||||
"ray-x/guihua.lua",
|
|
||||||
"neovim/nvim-lspconfig",
|
|
||||||
"nvim-treesitter/nvim-treesitter"
|
|
||||||
},
|
|
||||||
config = function()
|
|
||||||
require("go").setup()
|
|
||||||
end,
|
|
||||||
event = "CmdlineEnter",
|
|
||||||
ft = { "go", "gomod" },
|
|
||||||
build = ":lua require('go.install').update_all_sync()"
|
|
||||||
}
|
|
||||||
@@ -1,61 +1,13 @@
|
|||||||
return {
|
return {
|
||||||
"LunarVim/bigfile.nvim",
|
|
||||||
"wakatime/vim-wakatime",
|
"wakatime/vim-wakatime",
|
||||||
"j-morano/buffer_manager.nvim",
|
|
||||||
"rcarriga/nvim-notify",
|
|
||||||
|
|
||||||
-- NOTE: Plugins
|
|
||||||
|
|
||||||
{
|
{
|
||||||
"lukas-reineke/indent-blankline.nvim",
|
"folke/tokyonight.nvim",
|
||||||
event = "BufEnter",
|
|
||||||
main = "ibl",
|
|
||||||
config = true
|
|
||||||
},
|
|
||||||
|
|
||||||
{
|
|
||||||
"lewis6991/gitsigns.nvim",
|
|
||||||
event = "BufEnter",
|
|
||||||
config = true
|
|
||||||
},
|
|
||||||
|
|
||||||
{
|
|
||||||
"NeogitOrg/neogit",
|
|
||||||
dependencies = {
|
|
||||||
"nvim-lua/plenary.nvim",
|
|
||||||
"sindrets/diffview.nvim",
|
|
||||||
"nvim-telescope/telescope.nvim"
|
|
||||||
},
|
|
||||||
config = true
|
|
||||||
},
|
|
||||||
|
|
||||||
-- NOTE: LSP
|
|
||||||
|
|
||||||
{
|
|
||||||
"windwp/nvim-autopairs",
|
|
||||||
event = "InsertEnter",
|
|
||||||
config = true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"ray-x/lsp_signature.nvim",
|
|
||||||
dependencies = "neovim/nvim-lspconfig",
|
|
||||||
config = true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"numToStr/Comment.nvim",
|
|
||||||
lazy = false,
|
lazy = false,
|
||||||
config = true
|
priority = 1000,
|
||||||
},
|
opts = {
|
||||||
|
style = "night",
|
||||||
-- NOTE: Flutter
|
transparent = true
|
||||||
|
}
|
||||||
{
|
|
||||||
"akinsho/flutter-tools.nvim",
|
|
||||||
lazy = false,
|
|
||||||
dependencies = {
|
|
||||||
"nvim-lua/plenary.nvim",
|
|
||||||
"stevearc/dressing.nvim"
|
|
||||||
},
|
|
||||||
config = true
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,24 +0,0 @@
|
|||||||
return {
|
|
||||||
"williamboman/mason-lspconfig.nvim",
|
|
||||||
dependencies = {
|
|
||||||
"williamboman/mason.nvim",
|
|
||||||
"neovim/nvim-lspconfig",
|
|
||||||
"hrsh7th/cmp-nvim-lsp"
|
|
||||||
},
|
|
||||||
config = function()
|
|
||||||
local lspconfig = require("lspconfig")
|
|
||||||
local lsp_capabilities = require("cmp_nvim_lsp").default_capabilities()
|
|
||||||
|
|
||||||
local defaultSetup = function(server)
|
|
||||||
lspconfig[server].setup {
|
|
||||||
capabilities = lsp_capabilities
|
|
||||||
}
|
|
||||||
end
|
|
||||||
|
|
||||||
require("mason").setup()
|
|
||||||
require("mason-lspconfig").setup {
|
|
||||||
ensure_installed = {},
|
|
||||||
handlers = { defaultSetup }
|
|
||||||
}
|
|
||||||
end
|
|
||||||
}
|
|
||||||
@@ -1,227 +0,0 @@
|
|||||||
return {
|
|
||||||
"nvim-lualine/lualine.nvim",
|
|
||||||
dependencies = "nvim-tree/nvim-web-devicons",
|
|
||||||
config = function()
|
|
||||||
-- Eviline config for lualine
|
|
||||||
-- Author: shadmansaleh
|
|
||||||
-- Credit: glepnir
|
|
||||||
local lualine = require("lualine")
|
|
||||||
|
|
||||||
-- Color table for highlights
|
|
||||||
-- stylua: ignore
|
|
||||||
local colors = {
|
|
||||||
bg = "#202328",
|
|
||||||
fg = "#bbc2cf",
|
|
||||||
yellow = "#ECBE7B",
|
|
||||||
cyan = "#008080",
|
|
||||||
darkblue = "#081633",
|
|
||||||
green = "#98be65",
|
|
||||||
orange = "#FF8800",
|
|
||||||
violet = "#a9a1e1",
|
|
||||||
magenta = "#c678dd",
|
|
||||||
blue = "#51afef",
|
|
||||||
red = "#ec5f67",
|
|
||||||
}
|
|
||||||
|
|
||||||
local conditions = {
|
|
||||||
buffer_not_empty = function()
|
|
||||||
return vim.fn.empty(vim.fn.expand("%:t")) ~= 1
|
|
||||||
end,
|
|
||||||
hide_in_width = function()
|
|
||||||
return vim.fn.winwidth(0) > 80
|
|
||||||
end,
|
|
||||||
check_git_workspace = function()
|
|
||||||
local filepath = vim.fn.expand("%:p:h")
|
|
||||||
local gitdir = vim.fn.finddir(".git", filepath .. ";")
|
|
||||||
return gitdir and #gitdir > 0 and #gitdir < #filepath
|
|
||||||
end,
|
|
||||||
}
|
|
||||||
|
|
||||||
-- Config
|
|
||||||
local config = {
|
|
||||||
options = {
|
|
||||||
-- Disable sections and component separators
|
|
||||||
component_separators = "",
|
|
||||||
section_separators = "",
|
|
||||||
theme = {
|
|
||||||
-- We are going to use lualine_c an lualine_x as left and
|
|
||||||
-- right section. Both are highlighted by c theme . So we
|
|
||||||
-- are just setting default looks o statusline
|
|
||||||
normal = { c = { fg = colors.fg, bg = colors.bg } },
|
|
||||||
inactive = { c = { fg = colors.fg, bg = colors.bg } },
|
|
||||||
},
|
|
||||||
},
|
|
||||||
sections = {
|
|
||||||
-- these are to remove the defaults
|
|
||||||
lualine_a = {},
|
|
||||||
lualine_b = {},
|
|
||||||
lualine_y = {},
|
|
||||||
lualine_z = {},
|
|
||||||
-- These will be filled later
|
|
||||||
lualine_c = {},
|
|
||||||
lualine_x = {},
|
|
||||||
},
|
|
||||||
inactive_sections = {
|
|
||||||
-- these are to remove the defaults
|
|
||||||
lualine_a = {},
|
|
||||||
lualine_b = {},
|
|
||||||
lualine_y = {},
|
|
||||||
lualine_z = {},
|
|
||||||
lualine_c = {},
|
|
||||||
lualine_x = {},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
-- Inserts a component in lualine_c at left section
|
|
||||||
local function ins_left(component)
|
|
||||||
table.insert(config.sections.lualine_c, component)
|
|
||||||
end
|
|
||||||
|
|
||||||
-- Inserts a component in lualine_x at right section
|
|
||||||
local function ins_right(component)
|
|
||||||
table.insert(config.sections.lualine_x, component)
|
|
||||||
end
|
|
||||||
|
|
||||||
ins_left {
|
|
||||||
function()
|
|
||||||
return "▊"
|
|
||||||
end,
|
|
||||||
color = { fg = colors.blue }, -- Sets highlighting of component
|
|
||||||
padding = { left = 0, right = 1 }, -- We don"t need space before this
|
|
||||||
}
|
|
||||||
|
|
||||||
ins_left {
|
|
||||||
-- mode component
|
|
||||||
function()
|
|
||||||
return ""
|
|
||||||
end,
|
|
||||||
color = function()
|
|
||||||
-- auto change color according to neovims mode
|
|
||||||
local mode_color = {
|
|
||||||
n = colors.red,
|
|
||||||
i = colors.green,
|
|
||||||
v = colors.blue,
|
|
||||||
["␖"] = colors.blue,
|
|
||||||
V = colors.blue,
|
|
||||||
c = colors.magenta,
|
|
||||||
no = colors.red,
|
|
||||||
s = colors.orange,
|
|
||||||
S = colors.orange,
|
|
||||||
["␓"] = colors.orange,
|
|
||||||
ic = colors.yellow,
|
|
||||||
R = colors.violet,
|
|
||||||
Rv = colors.violet,
|
|
||||||
cv = colors.red,
|
|
||||||
ce = colors.red,
|
|
||||||
r = colors.cyan,
|
|
||||||
rm = colors.cyan,
|
|
||||||
["r?"] = colors.cyan,
|
|
||||||
["!"] = colors.red,
|
|
||||||
t = colors.red,
|
|
||||||
}
|
|
||||||
return { fg = mode_color[vim.fn.mode()] }
|
|
||||||
end,
|
|
||||||
padding = { right = 1 },
|
|
||||||
}
|
|
||||||
|
|
||||||
ins_left {
|
|
||||||
-- filesize component
|
|
||||||
"filesize",
|
|
||||||
cond = conditions.buffer_not_empty,
|
|
||||||
}
|
|
||||||
|
|
||||||
ins_left {
|
|
||||||
"filename",
|
|
||||||
cond = conditions.buffer_not_empty,
|
|
||||||
color = { fg = colors.magenta, gui = "bold" },
|
|
||||||
}
|
|
||||||
|
|
||||||
ins_left { "location" }
|
|
||||||
|
|
||||||
ins_left { "progress", color = { fg = colors.fg, gui = "bold" } }
|
|
||||||
|
|
||||||
ins_left {
|
|
||||||
"diagnostics",
|
|
||||||
sources = { "nvim_diagnostic" },
|
|
||||||
symbols = { error = " ", warn = " ", info = " " },
|
|
||||||
diagnostics_color = {
|
|
||||||
color_error = { fg = colors.red },
|
|
||||||
color_warn = { fg = colors.yellow },
|
|
||||||
color_info = { fg = colors.cyan },
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
-- Insert mid section. You can make any number of sections in neovim :)
|
|
||||||
-- for lualine it"s any number greater then 2
|
|
||||||
ins_left {
|
|
||||||
function()
|
|
||||||
return "%="
|
|
||||||
end,
|
|
||||||
}
|
|
||||||
|
|
||||||
ins_left {
|
|
||||||
-- Lsp server name .
|
|
||||||
function()
|
|
||||||
local msg = "No Active Lsp"
|
|
||||||
local buf_ft = vim.api.nvim_buf_get_option(0, "filetype")
|
|
||||||
local clients = vim.lsp.get_active_clients()
|
|
||||||
if next(clients) == nil then
|
|
||||||
return msg
|
|
||||||
end
|
|
||||||
for _, client in ipairs(clients) do
|
|
||||||
local filetypes = client.config.filetypes
|
|
||||||
if filetypes and vim.fn.index(filetypes, buf_ft) ~= -1 then
|
|
||||||
return client.name
|
|
||||||
end
|
|
||||||
end
|
|
||||||
return msg
|
|
||||||
end,
|
|
||||||
icon = " LSP:",
|
|
||||||
color = { fg = "#ffffff", gui = "bold" },
|
|
||||||
}
|
|
||||||
|
|
||||||
-- Add components to right sections
|
|
||||||
ins_right {
|
|
||||||
"o:encoding", -- option component same as &encoding in viml
|
|
||||||
fmt = string.upper, -- I"m not sure why it"s upper case either ;)
|
|
||||||
cond = conditions.hide_in_width,
|
|
||||||
color = { fg = colors.green, gui = "bold" },
|
|
||||||
}
|
|
||||||
|
|
||||||
ins_right {
|
|
||||||
"fileformat",
|
|
||||||
fmt = string.upper,
|
|
||||||
icons_enabled = true, -- I think icons are cool but Eviline doesn't have them. sigh
|
|
||||||
color = { fg = colors.green, gui = "bold" },
|
|
||||||
}
|
|
||||||
|
|
||||||
ins_right {
|
|
||||||
"branch",
|
|
||||||
icon = "",
|
|
||||||
color = { fg = colors.violet, gui = "bold" },
|
|
||||||
}
|
|
||||||
|
|
||||||
ins_right {
|
|
||||||
"diff",
|
|
||||||
-- Is it me or the symbol for modified us really weird
|
|
||||||
symbols = { added = " ", modified = " ", removed = " " },
|
|
||||||
diff_color = {
|
|
||||||
added = { fg = colors.green },
|
|
||||||
modified = { fg = colors.orange },
|
|
||||||
removed = { fg = colors.red },
|
|
||||||
},
|
|
||||||
cond = conditions.hide_in_width,
|
|
||||||
}
|
|
||||||
|
|
||||||
ins_right {
|
|
||||||
function()
|
|
||||||
return "▊"
|
|
||||||
end,
|
|
||||||
color = { fg = colors.blue },
|
|
||||||
padding = { left = 1 },
|
|
||||||
}
|
|
||||||
|
|
||||||
-- Now don't forget to initialize lualine
|
|
||||||
lualine.setup(config)
|
|
||||||
end
|
|
||||||
}
|
|
||||||
@@ -1,20 +0,0 @@
|
|||||||
return {
|
|
||||||
"nvim-neorg/neorg",
|
|
||||||
build = ":Neorg sync-parsers",
|
|
||||||
dependencies = "nvim-lua/plenary.nvim",
|
|
||||||
opts = {
|
|
||||||
load = {
|
|
||||||
["core.defaults"] = {},
|
|
||||||
["core.concealer"] = {},
|
|
||||||
["core.dirman"] = {
|
|
||||||
config = {
|
|
||||||
workspaces = {
|
|
||||||
notes = "~/Sync/Neorg",
|
|
||||||
work = "~/Sync/Work"
|
|
||||||
},
|
|
||||||
default_workspace = "notes"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,56 +0,0 @@
|
|||||||
return {
|
|
||||||
"nvim-neo-tree/neo-tree.nvim",
|
|
||||||
branch = "v3.x",
|
|
||||||
dependencies = {
|
|
||||||
"nvim-lua/plenary.nvim",
|
|
||||||
"nvim-tree/nvim-web-devicons",
|
|
||||||
"MunifTanjim/nui.nvim",
|
|
||||||
"3rd/image.nvim"
|
|
||||||
},
|
|
||||||
cmd = "Neotree",
|
|
||||||
opts = {
|
|
||||||
filesystem = {
|
|
||||||
filtered_items = {
|
|
||||||
hide_dotfiles = false
|
|
||||||
}
|
|
||||||
},
|
|
||||||
window = {
|
|
||||||
position = "current",
|
|
||||||
|
|
||||||
mappings = {
|
|
||||||
["Y"] = function(state)
|
|
||||||
local node = state.tree:get_node()
|
|
||||||
local filepath = node:get_id()
|
|
||||||
local filename = node.name
|
|
||||||
local modify = vim.fn.fnamemodify
|
|
||||||
|
|
||||||
|
|
||||||
local results = {
|
|
||||||
filepath,
|
|
||||||
modify(filepath, ':.'),
|
|
||||||
modify(filepath, ':~'),
|
|
||||||
filename,
|
|
||||||
modify(filename, ':r'),
|
|
||||||
modify(filename, ':e'),
|
|
||||||
}
|
|
||||||
|
|
||||||
vim.ui.select({
|
|
||||||
'1. Absolute path: ' .. results[1],
|
|
||||||
'2. Path relative to CWD: ' .. results[2],
|
|
||||||
'3. Path relative to HOME: ' .. results[3],
|
|
||||||
'4. Filename: ' .. results[4],
|
|
||||||
'5. Filename without extension: ' .. results[5],
|
|
||||||
'6. Extension of the filename: ' .. results[6],
|
|
||||||
}, { prompt = 'Choose to copy to clipboard:' }, function(choice)
|
|
||||||
if choice then
|
|
||||||
local i = tonumber(choice:sub(1, 1))
|
|
||||||
local result = results[i]
|
|
||||||
vim.fn.setreg('"+', result)
|
|
||||||
vim.notify("Copied: " .. result)
|
|
||||||
end
|
|
||||||
end)
|
|
||||||
end
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,29 +0,0 @@
|
|||||||
return {
|
|
||||||
"nvim-telescope/telescope.nvim",
|
|
||||||
tag = "0.1.5",
|
|
||||||
dependencies = {
|
|
||||||
"nvim-lua/plenary.nvim",
|
|
||||||
{
|
|
||||||
"nvim-telescope/telescope-fzf-native.nvim",
|
|
||||||
build = "make"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
config = function()
|
|
||||||
local telescope = require("telescope")
|
|
||||||
|
|
||||||
telescope.setup {
|
|
||||||
defaults = {
|
|
||||||
layout_config = {
|
|
||||||
vertical = { width = 0.75 }
|
|
||||||
}
|
|
||||||
},
|
|
||||||
pickers = {
|
|
||||||
fd = { layout_strategy = "vertical" },
|
|
||||||
live_grep = { layout_strategy = "vertical" },
|
|
||||||
current_buffer_fuzzy_find = { layout_strategy = "vertical" }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
telescope.load_extension("fzf")
|
|
||||||
end
|
|
||||||
}
|
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
return {
|
|
||||||
"akinsho/toggleterm.nvim",
|
|
||||||
version = "*",
|
|
||||||
opts = {
|
|
||||||
open_mapping = [[<c-t>]],
|
|
||||||
direction = "float",
|
|
||||||
float_opts = {
|
|
||||||
border = "curved"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
return {
|
|
||||||
"folke/tokyonight.nvim",
|
|
||||||
lazy = false,
|
|
||||||
priority = 1000,
|
|
||||||
config = function()
|
|
||||||
vim.cmd[[colorscheme tokyonight-night]]
|
|
||||||
end
|
|
||||||
}
|
|
||||||
@@ -1,31 +0,0 @@
|
|||||||
return {
|
|
||||||
"nvim-treesitter/nvim-treesitter",
|
|
||||||
dependencies = {
|
|
||||||
{ "windwp/nvim-ts-autotag", config = true }
|
|
||||||
},
|
|
||||||
build = ":TSUpdate",
|
|
||||||
config = function()
|
|
||||||
local configs = require("nvim-treesitter.configs")
|
|
||||||
|
|
||||||
configs.setup {
|
|
||||||
ensure_installed = { "lua" },
|
|
||||||
highlight = { enable = true },
|
|
||||||
|
|
||||||
indent = {
|
|
||||||
enable = true,
|
|
||||||
disable = { "dart" }
|
|
||||||
},
|
|
||||||
|
|
||||||
autotag = { enable = true }
|
|
||||||
}
|
|
||||||
end,
|
|
||||||
opts = {
|
|
||||||
ensure_installed = { "lua" },
|
|
||||||
auto_install = true,
|
|
||||||
|
|
||||||
highlight = { enable = true },
|
|
||||||
indent = { enable = true },
|
|
||||||
|
|
||||||
autotag = { enable = true }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,80 +0,0 @@
|
|||||||
local function config()
|
|
||||||
local wk = require("which-key")
|
|
||||||
|
|
||||||
wk.register({
|
|
||||||
["<leader>"] = {
|
|
||||||
-- Finders
|
|
||||||
f = {
|
|
||||||
name = "Finders",
|
|
||||||
f = { "<cmd>Telescope fd<CR>", "Find files" },
|
|
||||||
w = { "<cmd>Telescope live_grep<CR>", "Text grep" },
|
|
||||||
s = { "<cmd>Telescope spell_suggest<CR>", "Spell suggest" },
|
|
||||||
t = { "<cmd>TodoTelescope<CR>", "Todos" },
|
|
||||||
b = { "<cmd>Telescope buffers<CR>", "Buffers" },
|
|
||||||
["."] = { "<cmd>Telescope keymaps<CR>", "Keymaps" }
|
|
||||||
},
|
|
||||||
|
|
||||||
-- Git
|
|
||||||
g = {
|
|
||||||
name = "Git",
|
|
||||||
b = { "<cmd>Gitsigns blame_line<CR>", "Blame line" },
|
|
||||||
d = { "<cmd>Gitsigns diffthis<CR>", "Diff" },
|
|
||||||
D = { "<cmd>DiffviewOpen<CR>", "Diff view & merge tool" },
|
|
||||||
C = { "<cmd>DiffviewClose<CR>", "Close diffview & merge tool" }
|
|
||||||
},
|
|
||||||
|
|
||||||
-- LSP
|
|
||||||
l = {
|
|
||||||
name = "LSP",
|
|
||||||
f = { "<cmd>lua vim.lsp.buf.format { async = true }<CR>", "Format" },
|
|
||||||
a = { "<cmd>lua vim.lsp.buf.code_action()<CR>", "Code Action" },
|
|
||||||
r = { "<cmd>lua vim.lsp.buf.rename()<CR>", "Rename" }
|
|
||||||
},
|
|
||||||
|
|
||||||
-- Buffers
|
|
||||||
b = { "<cmd>lua require('buffer_manager.ui').toggle_quick_menu()<CR>", "Buffer Manager" },
|
|
||||||
|
|
||||||
-- Misc
|
|
||||||
h = { "<cmd>noh<CR>", "No highlight" },
|
|
||||||
s = { "<cmd>SymbolsOutline<CR>", "Symbols outline" },
|
|
||||||
|
|
||||||
-- Terminal
|
|
||||||
t = {
|
|
||||||
t = { "<cmd>ToggleTerm size=40 direction=horizontal<CR>", "Horizontal Terminal" }
|
|
||||||
},
|
|
||||||
|
|
||||||
T = { "<cmd>TroubleToggle<CR>", "Toggle trouble" }
|
|
||||||
},
|
|
||||||
|
|
||||||
g = {
|
|
||||||
d = { "<cmd>lua vim.lsp.buf.definition()<CR>", "definition" },
|
|
||||||
t = { "<cmd>lua vim.lsp.buf.type_definition()<CR>", "type definition" }
|
|
||||||
},
|
|
||||||
|
|
||||||
-- Find in file
|
|
||||||
["<C-f>"] = { "<cmd>Telescope current_buffer_fuzzy_find<CR>", "Find in file" },
|
|
||||||
|
|
||||||
-- Neotree
|
|
||||||
["<C-n>"] = { "<cmd>Neotree reveal_force_cwd<CR>", "Neotree" },
|
|
||||||
|
|
||||||
-- Misc
|
|
||||||
K = { "<cmd>lua vim.lsp.buf.hover()<CR>", "Hover" }
|
|
||||||
})
|
|
||||||
end
|
|
||||||
|
|
||||||
return {
|
|
||||||
"folke/which-key.nvim",
|
|
||||||
event = "VeryLazy",
|
|
||||||
init = function()
|
|
||||||
local o = vim.o
|
|
||||||
o.timeout = true
|
|
||||||
o.timeoutlen = 300
|
|
||||||
end,
|
|
||||||
config = config,
|
|
||||||
opts = {
|
|
||||||
ignore_missing = true,
|
|
||||||
key_labels = {
|
|
||||||
["<space>"] = "SPC"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
117
lunar.lua
117
lunar.lua
@@ -1,117 +0,0 @@
|
|||||||
-- Read the docs: https://www.lunarvim.org/docs/configuration
|
|
||||||
-- Video Tutorials: https://www.youtube.com/watch?v=sFA9kX-Ud_c&list=PLhoH5vyxr6QqGu0i7tt_XoVK9v-KvZ3m6
|
|
||||||
-- Forum: https://www.reddit.com/r/lunarvim/
|
|
||||||
-- Discord: https://discord.com/invite/Xb9B4Ny
|
|
||||||
|
|
||||||
local opt = vim.opt
|
|
||||||
local api = vim.api
|
|
||||||
|
|
||||||
-- Indentation
|
|
||||||
opt.smartindent = true
|
|
||||||
opt.expandtab = true
|
|
||||||
opt.shiftwidth = 4
|
|
||||||
opt.tabstop = 4
|
|
||||||
opt.scrolloff = 8
|
|
||||||
|
|
||||||
-- Plugins
|
|
||||||
lvim.plugins = {
|
|
||||||
{
|
|
||||||
"folke/todo-comments.nvim",
|
|
||||||
event = "BufRead",
|
|
||||||
dependencies = "nvim-lua/plenary.nvim",
|
|
||||||
config = true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"akinsho/flutter-tools.nvim",
|
|
||||||
lazy = false,
|
|
||||||
dependencies = {
|
|
||||||
"nvim-lua/plenary.nvim",
|
|
||||||
"stevearc/dressing.nvim"
|
|
||||||
},
|
|
||||||
config = true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nmac427/guess-indent.nvim",
|
|
||||||
lazy = false,
|
|
||||||
config = true,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"NvChad/nvim-colorizer.lua",
|
|
||||||
event = "BufEnter",
|
|
||||||
opts = {
|
|
||||||
filetypes = {
|
|
||||||
"*",
|
|
||||||
"!markdown",
|
|
||||||
},
|
|
||||||
user_default_options = {
|
|
||||||
RRGGBBAA = true,
|
|
||||||
AARRGGBB = true,
|
|
||||||
rgb_fn = true,
|
|
||||||
hsl_fn = true,
|
|
||||||
css = true,
|
|
||||||
css_fn = true,
|
|
||||||
sass = { enable = true }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nvim-pack/nvim-spectre",
|
|
||||||
dependencies = "nvim-lua/plenary.nvim"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"ellisonleao/glow.nvim",
|
|
||||||
cmd = "Glow",
|
|
||||||
config = true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"f-person/git-blame.nvim",
|
|
||||||
cmd = "GitBlameToggle"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"sindrets/diffview.nvim",
|
|
||||||
dependencies = "nvim-lua/plenary.nvim",
|
|
||||||
cmd = "DiffviewOpen",
|
|
||||||
config = true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"ray-x/lsp_signature.nvim",
|
|
||||||
dependencies = "neovim/nvim-lspconfig",
|
|
||||||
config = true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"simrat39/symbols-outline.nvim",
|
|
||||||
cmd = "SymbolsOutline",
|
|
||||||
config = true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
-- Mappings
|
|
||||||
lvim.keys.normal_mode["<TAB>"] = "<cmd>BufferLineCycleNext<CR>"
|
|
||||||
lvim.keys.normal_mode["<S-TAB>"] = "<cmd>BufferLineCyclePrev<CR>"
|
|
||||||
lvim.keys.normal_mode["<C-f>"] = "<cmd>Telescope current_buffer_fuzzy_find<CR>"
|
|
||||||
|
|
||||||
lvim.builtin.terminal.open_mapping = "<C-t>"
|
|
||||||
|
|
||||||
-- Commands
|
|
||||||
local function indent(n, expand)
|
|
||||||
local size = 4
|
|
||||||
if n ~= "" then size = n end
|
|
||||||
|
|
||||||
-- Number conversion
|
|
||||||
local num = tonumber(size)
|
|
||||||
if num then
|
|
||||||
size = num
|
|
||||||
end
|
|
||||||
|
|
||||||
opt.expandtab = expand
|
|
||||||
opt.shiftwidth = size
|
|
||||||
opt.tabstop = size
|
|
||||||
end
|
|
||||||
|
|
||||||
api.nvim_create_user_command("Tabs", function(v)
|
|
||||||
indent(v.args, false)
|
|
||||||
end, { nargs = "?" })
|
|
||||||
|
|
||||||
api.nvim_create_user_command("Spaces", function(v)
|
|
||||||
indent(v.args, true)
|
|
||||||
end, { nargs = "?" })
|
|
||||||
Reference in New Issue
Block a user