commit - bf840df110ae936c819968c0cfc01f6fb2f79e18
commit + a45634929a7376eed38084df3600b15dd087d9fb
blob - 4567260ba3167a66581ecae885726e23ff7f6ffb
blob + a6a83dd235791e8a1aa27433a5981451ecc75781
--- init.lua
+++ init.lua
-vim.g.mapleader = ' '
-vim.g.maplocalleader = ' '
-
-require('plugins.lazy')
-
-require('lazy').setup({
- require('plugins/telescope'),
- require('plugins/mason'),
- require('plugins/lspconfig'),
- require('plugins/conform'),
- -- require('plugins/mini'),
- -- require('plugins/autopairs'),
- require('plugins/gitsigns'),
-})
-
-require('config.options')
-require('config.colors')
-require('config.keymaps')
+require('options')
+require('colors')
+require('keymaps')
blob - 49c44a44f791ad1bfa7d312e8d21602e9dd62ed7 (mode 644)
blob + /dev/null
--- lazy-lock.json
+++ /dev/null
-{
- "conform.nvim": { "branch": "master", "commit": "086a40dc7ed8242c03be9f47fbcee68699cc2395" },
- "gitsigns.nvim": { "branch": "main", "commit": "0a80125bace82d82847d40bc2c38a22d62c6dc2d" },
- "lazy.nvim": { "branch": "main", "commit": "85c7ff3711b730b4030d03144f6db6375044ae82" },
- "mason-lspconfig.nvim": { "branch": "main", "commit": "a979821a975897b88493843301950c456a725982" },
- "mason.nvim": { "branch": "main", "commit": "44d1e90e1f66e077268191e3ee9d2ac97cc18e65" },
- "nvim-lspconfig": { "branch": "master", "commit": "841c6d4139aedb8a3f2baf30cef5327371385b93" },
- "plenary.nvim": { "branch": "master", "commit": "b9fd5226c2f76c951fc8ed5923d85e4de065e509" },
- "telescope-fzf-native.nvim": { "branch": "main", "commit": "6fea601bd2b694c6f2ae08a6c6fab14930c60e2c" },
- "telescope-ui-select.nvim": { "branch": "master", "commit": "6e51d7da30bd139a6950adf2a47fda6df9fa06d2" },
- "telescope.nvim": { "branch": "master", "commit": "5255aa27c422de944791318024167ad5d40aad20" }
-}
blob - 5b1250e1b84c5600ec3fb07f2f93526c50c945f8 (mode 644)
blob + /dev/null
--- lua/config/colors.lua
+++ /dev/null
-vim.opt.termguicolors = true
-
-vim.api.nvim_set_hl(0, "Normal", { fg = "#d5c494", bg = "#252525" })
-vim.api.nvim_set_hl(0, "Comment", { fg = "#948967", italic = true })
-
-vim.api.nvim_set_hl(0, "TelescopeMatching", { fg = "#a99c76" })
-vim.api.nvim_set_hl(0, "Visual", { bg = "#474032" })
-
-local groups = {
- "Constant", "Identifier", "Statement", "PreProc", "Type", "Special",
- "String", "Character", "Number", "Boolean", "Float", "Function",
- "Conditional", "Repeat", "Label", "Operator", "Keyword", "Exception",
- "Include", "Define", "Macro", "PreCondit", "StorageClass", "Structure",
- "Typedef", "Delimiter", "Underlined", "Error", "Todo", "netrwDir", "@variable",
- "GitSignsAdd", "GitSignsChange", "GitSignsDelete", "GitSignsStagedAdd",
- "GitSignsStagedChange", "GitSignsStagedDelete"
-}
-
-for _, group in ipairs(groups) do
- vim.api.nvim_set_hl(0, group, { link = "Normal" })
-end
-
-vim.api.nvim_create_autocmd("FileType", {
- pattern = "*",
- callback = function(a)
- pcall(vim.treesitter.stop, a.buf)
- end,
-})
blob - 8ae962a221f4c7b574f9a42b5a610e3dfaee3f32 (mode 644)
blob + /dev/null
--- lua/config/keymaps.lua
+++ /dev/null
--- Clear highlights on search when pressing <Esc> in normal mode
--- See `:help hlsearch`
-vim.keymap.set('n', '<Esc>', '<cmd>nohlsearch<CR>')
-
--- Faster netrw mapping
--- See `:help netrw`
-vim.keymap.set('n', '<leader>e', ':Ex<CR>')
-
--- Diagnostic keymaps
-vim.keymap.set('n', '<leader>q', vim.diagnostic.setloclist, { desc = 'Open diagnostic [Q]uickfix list' })
-
--- Disable arrow keys in normal mode
-vim.keymap.set('n', '<left>', '')
-vim.keymap.set('n', '<right>', '')
-vim.keymap.set('n', '<up>', '')
-vim.keymap.set('n', '<down>', '')
-
--- Keybinds to make split navigation easier.
--- Use CTRL+<hjkl> to switch between windows
--- See `:help wincmd` for a list of all window commands
-vim.keymap.set('n', '<C-h>', '<C-w><C-h>', { desc = 'Move focus to the left window' })
-vim.keymap.set('n', '<C-l>', '<C-w><C-l>', { desc = 'Move focus to the right window' })
-vim.keymap.set('n', '<C-j>', '<C-w><C-j>', { desc = 'Move focus to the lower window' })
-vim.keymap.set('n', '<C-k>', '<C-w><C-k>', { desc = 'Move focus to the upper window' })
-
--- Telescope keymaps
--- See `:help telescope.builtin`
-vim.keymap.set('n', '<leader>sf', '<cmd>Telescope find_files<CR>', { desc = 'Find files' })
-vim.keymap.set('n', '<leader>sg', '<cmd>Telescope live_grep<CR>', { desc = 'Search text in files' })
-vim.keymap.set('n', '<leader>sb', '<cmd>Telescope buffers<CR>', { desc = 'List open buffers' })
-vim.keymap.set('n', '<leader>st', '<cmd>Telescope help_tags<CR>', { desc = 'Search help tags' })
-vim.keymap.set('n', '<leader>sh', '<cmd>Telescope git_bcommits<CR>', { desc = 'List git history' })
-
--- Conform (external plugin) bind
-vim.keymap.set({ 'n', 'x' }, '<leader>f', function()
- require('conform').format({ async = true, lsp_fallback = false })
-end, { desc = 'Format the current buffer' })
-
--- LSP keymaps (set on LspAttach)
-vim.api.nvim_create_autocmd('LspAttach', {
- group = vim.api.nvim_create_augroup('UserLspConfig', { clear = true }),
- callback = function(event)
- local lsp_map = function(keys, func, desc, mode)
- mode = mode or 'n'
- vim.keymap.set(mode, keys, func, { buffer = event.buf, desc = 'LSP: ' .. desc })
- end
-
- -- Core navigation
- lsp_map('gd', require('telescope.builtin').lsp_definitions, 'Go to Definition')
- lsp_map('gD', vim.lsp.buf.declaration, 'Go to Declaration')
- lsp_map('gt', vim.lsp.buf.type_definition, 'Go to Type Definition')
- lsp_map('gi', require('telescope.builtin').lsp_implementations, 'Go to Implementation')
- lsp_map('gr', require('telescope.builtin').lsp_references, 'Get References')
- lsp_map('K', vim.lsp.buf.hover, 'Show hover documentation')
-
- -- Leader-based LSP actions (under <leader>l for less frequent actions)
- lsp_map('<leader>lr', vim.lsp.buf.rename, 'Rename across multiple files', 'n')
- lsp_map('<leader>ca', vim.lsp.buf.code_action, 'Code actions', { 'n', 'x' })
- lsp_map('<leader>lt', require('telescope.builtin').lsp_type_definitions, 'Type Definition')
- end,
-})
-
--- Gitsigns
-vim.api.nvim_create_autocmd('BufEnter', {
- group = vim.api.nvim_create_augroup('GitSignsConfig', { clear = true }),
- callback = function(event)
- local gs_map = function(keys, func, desc, mode)
- mode = mode or 'n'
- vim.keymap.set(mode, keys, func, { buffer = event.buf, desc = 'GitSigns: ' .. desc })
- end
-
- local gitsigns = require('gitsigns')
-
- gs_map('<leader>b', gitsigns.blame_line, 'toggle git show blame line')
- gs_map('tb', gitsigns.toggle_current_line_blame, 'toggle git show blame line')
- gs_map('td', gitsigns.toggle_deleted, 'Toggle git show deleted')
- end,
-})
blob - f5aee344cf5e31c84c553a0fe2c66c456d5c6b07 (mode 644)
blob + /dev/null
--- lua/config/options.lua
+++ /dev/null
-vim.o.number = false
-vim.o.relativenumber = false
-
-vim.opt.expandtab = true -- Use spaces instead of tabs
-vim.opt.shiftwidth = 4 -- Number of spaces to insert for indentation
-vim.opt.tabstop = 4 -- Display width of tabs (doesn't affect actual indentation)
-vim.opt.softtabstop = 4 -- Number of spaces for <Tab> key to insert (for convenience)
-
--- Don't show the mode, since it's already in the status line
-vim.o.showmode = false
-
--- Sync clipboard between OS and Neovim.
-vim.o.clipboard = 'unnamedplus'
-
--- Enable break indent
-vim.o.breakindent = true
-
--- Save undo history
-vim.o.undofile = true
-
--- Case-insensitive searching UNLESS \C or one or more capital letters in the search term
-vim.o.ignorecase = true
-vim.o.smartcase = true
-
--- Keep signcolumn on (required by gitsigns)
-vim.o.signcolumn = 'yes'
-
--- Decrease update time
-vim.o.updatetime = 100
-
--- Decrease mapped sequence wait time
-vim.o.timeoutlen = 300
-
--- Configure how new splits should be opened
-vim.o.splitright = true
-vim.o.splitbelow = true
-
--- Sets how neovim will display certain whitespace characters in the editor.
-vim.o.list = true
-vim.opt.listchars = { tab = ' ', trail = '·', nbsp = '␣' }
-
--- Preview substitutions live, as you type!
-vim.o.inccommand = 'split'
-
--- Minimal number of screen lines to keep above and below the cursor.
-vim.o.scrolloff = 10
-
--- if performing an operation that would fail due to unsaved changes in the buffer (like `:q`),
--- instead raise a dialog asking if you wish to save the current file(s)
--- See `:help 'confirm'`
-vim.o.confirm = true
-
--- Make netrw simpler
-vim.g.netrw_banner = 0
-
--- Amount of lines to scroll
-vim.opt.scroll = 10
-
--- This is done to sync terminal background with neovim background
--- effectively hiding the padding
--- MiniMisc.setup_termbg_sync()
-
--- Remove mouse menu (spawnable on MOUSE2)
-vim.cmd('aunmenu PopUp')
-vim.api.nvim_create_augroup('nvim_popupmenu', { clear = true })
-
--- Remove the gigantic status bar and the command padding
-vim.opt.laststatus = 0
-vim.opt.statusline = "%#WinSeparator#"
-vim.opt.fillchars:append({
- stl = '─',
- stlnc = '─'
-})
-
--- Keep the ruller to the essential
-vim.opt.rulerformat = '%l,%c'
-vim.opt.shortmess:append("I")
blob - /dev/null
blob + 222bfdf24b890a48ccd0860fb41eb6aa2287d948 (mode 644)
--- /dev/null
+++ lua/colors.lua
+vim.opt.termguicolors = true
+
+vim.api.nvim_set_hl(0, "Normal", { fg = "#d5c494", bg = "#090909" })
+vim.api.nvim_set_hl(0, "Comment", { fg = "#948967", italic = true })
+
+vim.api.nvim_set_hl(0, "TelescopeMatching", { fg = "#a99c76" })
+vim.api.nvim_set_hl(0, "Visual", { bg = "#474032" })
+
+local groups = {
+ "Constant", "Identifier", "Statement", "PreProc", "Type", "Special",
+ "String", "Character", "Number", "Boolean", "Float", "Function",
+ "Conditional", "Repeat", "Label", "Operator", "Keyword", "Exception",
+ "Include", "Define", "Macro", "PreCondit", "StorageClass", "Structure",
+ "Typedef", "Delimiter", "Underlined", "Error", "Todo", "netrwDir", "@variable",
+ "GitSignsAdd", "GitSignsChange", "GitSignsDelete", "GitSignsStagedAdd",
+ "GitSignsStagedChange", "GitSignsStagedDelete"
+}
+
+for _, group in ipairs(groups) do
+ vim.api.nvim_set_hl(0, group, { link = "Normal" })
+end
+
+vim.api.nvim_create_autocmd("FileType", {
+ pattern = "*",
+ callback = function(a)
+ pcall(vim.treesitter.stop, a.buf)
+ end,
+})
blob - 2106204c41fc83f410a733fb20f822cdcc7bf6d3 (mode 644)
blob + /dev/null
--- lua/plugins/autopairs.lua
+++ /dev/null
-return {
- 'windwp/nvim-autopairs',
- event = 'InsertEnter',
- opts = {},
-}
blob - 30d4a1174a7064671689f69e9530194f22e103bf (mode 644)
blob + /dev/null
--- lua/plugins/conform.lua
+++ /dev/null
-return {
- {
- 'stevearc/conform.nvim',
- cmd = { 'ConformInfo' },
- opts = {
- notify_on_error = true,
- formatters_by_ft = {
- go = { 'gofmt' },
- htmlangular = { 'prettier' },
- typescript = { 'prettier' },
- javascript = { 'prettier' },
- python = { 'black' },
- php = { 'pretty-php' },
- },
- },
- },
-}
blob - 4489f96080dc6029fcfbf24a804e62ad560b86c1 (mode 644)
blob + /dev/null
--- lua/plugins/gitsigns.lua
+++ /dev/null
-return {
- 'lewis6991/gitsigns.nvim',
- opts = {
- signs = {
- add = { text = '+' },
- change = { text = '~' },
- delete = { text = '_' },
- topdelete = { text = '‾' },
- changedelete = { text = '~' },
- },
- current_line_blame_opts = {
- virt_text = true,
- virt_text_pos = 'eol', -- 'eol' | 'overlay' | 'right_align'
- delay = 0,
- ignore_whitespace = false,
- virt_text_priority = 100,
- use_focus = true,
- },
- current_line_blame_formatter = '<author>, <author_time:%R> - <summary>',
- },
-}
blob - 25523869af3986209d2421e9c188b113222da7ef (mode 644)
blob + /dev/null
--- lua/plugins/lazy.lua
+++ /dev/null
-local lazypath = vim.fn.stdpath('data') .. '/lazy/lazy.nvim'
-if not (vim.uv or vim.loop).fs_stat(lazypath) then
- local lazyrepo = 'https://github.com/folke/lazy.nvim.git'
- local out = vim.fn.system({ 'git', 'clone', '--filter=blob:none', '--branch=stable', lazyrepo, lazypath })
- if vim.v.shell_error ~= 0 then
- vim.api.nvim_echo({
- { 'Failed to clone lazy.nvim:\n', 'ErrorMsg' },
- { out, 'WarningMsg' },
- { '\nPress any key to exit...' },
- }, true, {})
- vim.fn.getchar()
- os.exit(1)
- end
-end
-vim.opt.runtimepath:prepend(lazypath)
blob - e5cdbf0691c1284c43a7007c0546d4031fea1480 (mode 644)
blob + /dev/null
--- lua/plugins/lspconfig.lua
+++ /dev/null
-return {
- {
- 'neovim/nvim-lspconfig',
- dependencies = {
- { 'williamboman/mason.nvim', config = true },
- { 'williamboman/mason-lspconfig.nvim' },
- },
- config = function()
- vim.diagnostic.config({
- signs = false,
- severity_sort = true,
- float = { border = 'rounded', source = 'if_many' },
- underline = { severity = vim.diagnostic.severity.ERROR },
- virtual_text = {
- source = 'if_many',
- spacing = 1,
- format = function(diagnostic)
- local diagnostic_message = {
- [vim.diagnostic.severity.ERROR] = diagnostic.message,
- [vim.diagnostic.severity.WARN] = diagnostic.message,
- [vim.diagnostic.severity.INFO] = diagnostic.message,
- [vim.diagnostic.severity.HINT] = diagnostic.message,
- }
- return diagnostic_message[diagnostic.severity]
- end,
- },
- })
- -- custom LSP configs are define here
- local servers = {
- lua_ls = {
- settings = {
- Lua = {
- diagnostics = { globals = { 'vim' } },
- workspace = { checkThirdParty = false },
- telemetry = { enable = false },
- },
- },
- },
- }
- for server_name, server_config in pairs(servers) do
- vim.lsp.config(
- server_name,
- vim.tbl_deep_extend('force', {
- capabilities = capabilities,
- }, server_config)
- )
- vim.lsp.enable(server_name)
- end
- end,
- },
-}
blob - 05fa8a986d71425b2af3100106a62d9f036aa202 (mode 644)
blob + /dev/null
--- lua/plugins/mason.lua
+++ /dev/null
-return {
- {
- 'williamboman/mason.nvim',
- opts = {},
- },
- {
- 'williamboman/mason-lspconfig.nvim',
- opts = {},
- }
-}
blob - d435f4c2ca827dfb9e79b71288b6440ff6c96a4e (mode 644)
blob + /dev/null
--- lua/plugins/mini.lua
+++ /dev/null
-return {
- {
- 'echasnovski/mini.nvim',
- config = function()
- -- Better Around/Inside textobjects
- --
- -- - va) - [V]isually select [A]round [)]paren
- -- - yinq - [Y]ank [I]nside [N]ext [Q]uote
- -- - ci' - [C]hange [I]nside [']quote
- require('mini.ai').setup({ n_lines = 500 })
-
- -- Add/delete/replace surroundings (brackets, quotes, etc.)
- --
- -- - saiw) - [S]urround [A]dd [I]nner [W]ord [)]Paren
- -- - sd' - [S]urround [D]elete [']quotes
- -- - sr)' - [S]urround [R]eplace [)] [']
- require('mini.surround').setup()
- require('mini.misc').setup()
- end,
- },
-}
blob - c530db5c47631077ec2c7d3b880b89e3fa12ee83 (mode 644)
blob + /dev/null
--- lua/plugins/telescope.lua
+++ /dev/null
-return {
- 'nvim-telescope/telescope.nvim',
- branch = 'master',
- dependencies = {
- 'nvim-lua/plenary.nvim',
- { 'nvim-telescope/telescope-ui-select.nvim' },
- {
- -- Builds fzf-native if make is avaliable.
- 'nvim-telescope/telescope-fzf-native.nvim',
- build = 'make',
-
- cond = function()
- return vim.fn.executable('make') == 1
- end,
- },
- },
- cmd = 'Telescope',
- config = function()
- pcall(require('telescope').load_extension, 'fzf')
- pcall(require('telescope').load_extension, 'ui-select')
- require('telescope').setup({
- defaults = {
- layout_strategy = 'horizontal',
- file_ignore_patterns = {
- 'node_modules',
- '^package%-lock%.json$',
- '__init__.py',
- },
- mappings = {
- i = {
- ['<C-j>'] = 'move_selection_next',
- ['<C-k>'] = 'move_selection_previous',
- ['<C-q>'] = 'close',
- },
- n = {
- ['q'] = 'close',
- },
- },
- },
- pickers = {
- find_files = {
- layout_config = {
- height = 0.4,
- width = 0.4,
- prompt_position = 'top',
- },
- previewer = false,
- },
- live_grep = {
- layout_config = {
- prompt_position = 'top',
- },
- },
- },
- extensions = {
- ['ui-select'] = {
- require('telescope.themes').get_dropdown(),
- },
- },
- })
- end,
-}
blob - /dev/null
blob + af397be4a879e1d5889b2043866d9773e34b9047 (mode 644)
--- /dev/null
+++ lua/keymaps.lua
+vim.g.mapleader = ' '
+vim.g.maplocalleader = ' '
+
+-- Clear highlights on search when pressing <Esc> in normal mode
+-- See `:help hlsearch`
+vim.keymap.set('n', '<Esc>', '<cmd>nohlsearch<CR>')
+
+-- Faster netrw mapping
+-- See `:help netrw`
+vim.keymap.set('n', '<leader>e', ':Ex<CR>')
+
+-- Diagnostic keymaps
+vim.keymap.set('n', '<leader>q', vim.diagnostic.setloclist, { desc = 'Open diagnostic [Q]uickfix list' })
+
+-- Disable arrow keys in normal mode
+vim.keymap.set('n', '<left>', '')
+vim.keymap.set('n', '<right>', '')
+vim.keymap.set('n', '<up>', '')
+vim.keymap.set('n', '<down>', '')
+
+-- Keybinds to make split navigation easier.
+-- Use CTRL+<hjkl> to switch between windows
+-- See `:help wincmd` for a list of all window commands
+vim.keymap.set('n', '<C-h>', '<C-w><C-h>', { desc = 'Move focus to the left window' })
+vim.keymap.set('n', '<C-l>', '<C-w><C-l>', { desc = 'Move focus to the right window' })
+vim.keymap.set('n', '<C-j>', '<C-w><C-j>', { desc = 'Move focus to the lower window' })
+vim.keymap.set('n', '<C-k>', '<C-w><C-k>', { desc = 'Move focus to the upper window' })
+
+-- Telescope keymaps
+-- See `:help telescope.builtin`
+vim.keymap.set('n', '<leader>sf', '<cmd>Telescope find_files<CR>', { desc = 'Find files' })
+vim.keymap.set('n', '<leader>sg', '<cmd>Telescope live_grep<CR>', { desc = 'Search text in files' })
+vim.keymap.set('n', '<leader>sb', '<cmd>Telescope buffers<CR>', { desc = 'List open buffers' })
+vim.keymap.set('n', '<leader>st', '<cmd>Telescope help_tags<CR>', { desc = 'Search help tags' })
+vim.keymap.set('n', '<leader>sh', '<cmd>Telescope git_bcommits<CR>', { desc = 'List git history' })
+
+-- Conform (external plugin) bind
+vim.keymap.set({ 'n', 'x' }, '<leader>f', function()
+ require('conform').format({ async = true, lsp_fallback = false })
+end, { desc = 'Format the current buffer' })
+
+-- LSP keymaps (set on LspAttach)
+vim.api.nvim_create_autocmd('LspAttach', {
+ group = vim.api.nvim_create_augroup('UserLspConfig', { clear = true }),
+ callback = function(event)
+ local lsp_map = function(keys, func, desc, mode)
+ mode = mode or 'n'
+ vim.keymap.set(mode, keys, func, { buffer = event.buf, desc = 'LSP: ' .. desc })
+ end
+
+ -- Core navigation
+ lsp_map('gd', require('telescope.builtin').lsp_definitions, 'Go to Definition')
+ lsp_map('gD', vim.lsp.buf.declaration, 'Go to Declaration')
+ lsp_map('gt', vim.lsp.buf.type_definition, 'Go to Type Definition')
+ lsp_map('gi', require('telescope.builtin').lsp_implementations, 'Go to Implementation')
+ lsp_map('gr', require('telescope.builtin').lsp_references, 'Get References')
+ lsp_map('K', vim.lsp.buf.hover, 'Show hover documentation')
+
+ -- Leader-based LSP actions (under <leader>l for less frequent actions)
+ lsp_map('<leader>lr', vim.lsp.buf.rename, 'Rename across multiple files', 'n')
+ lsp_map('<leader>ca', vim.lsp.buf.code_action, 'Code actions', { 'n', 'x' })
+ lsp_map('<leader>lt', require('telescope.builtin').lsp_type_definitions, 'Type Definition')
+ end,
+})
+
+-- Gitsigns
+vim.api.nvim_create_autocmd('BufEnter', {
+ group = vim.api.nvim_create_augroup('GitSignsConfig', { clear = true }),
+ callback = function(event)
+ local gs_map = function(keys, func, desc, mode)
+ mode = mode or 'n'
+ vim.keymap.set(mode, keys, func, { buffer = event.buf, desc = 'GitSigns: ' .. desc })
+ end
+
+ local gitsigns = require('gitsigns')
+
+ gs_map('<leader>b', gitsigns.blame_line, 'toggle git show blame line')
+ gs_map('tb', gitsigns.toggle_current_line_blame, 'toggle git show blame line')
+ gs_map('td', gitsigns.toggle_deleted, 'Toggle git show deleted')
+ end,
+})
blob - /dev/null
blob + f5aee344cf5e31c84c553a0fe2c66c456d5c6b07 (mode 644)
--- /dev/null
+++ lua/options.lua
+vim.o.number = false
+vim.o.relativenumber = false
+
+vim.opt.expandtab = true -- Use spaces instead of tabs
+vim.opt.shiftwidth = 4 -- Number of spaces to insert for indentation
+vim.opt.tabstop = 4 -- Display width of tabs (doesn't affect actual indentation)
+vim.opt.softtabstop = 4 -- Number of spaces for <Tab> key to insert (for convenience)
+
+-- Don't show the mode, since it's already in the status line
+vim.o.showmode = false
+
+-- Sync clipboard between OS and Neovim.
+vim.o.clipboard = 'unnamedplus'
+
+-- Enable break indent
+vim.o.breakindent = true
+
+-- Save undo history
+vim.o.undofile = true
+
+-- Case-insensitive searching UNLESS \C or one or more capital letters in the search term
+vim.o.ignorecase = true
+vim.o.smartcase = true
+
+-- Keep signcolumn on (required by gitsigns)
+vim.o.signcolumn = 'yes'
+
+-- Decrease update time
+vim.o.updatetime = 100
+
+-- Decrease mapped sequence wait time
+vim.o.timeoutlen = 300
+
+-- Configure how new splits should be opened
+vim.o.splitright = true
+vim.o.splitbelow = true
+
+-- Sets how neovim will display certain whitespace characters in the editor.
+vim.o.list = true
+vim.opt.listchars = { tab = ' ', trail = '·', nbsp = '␣' }
+
+-- Preview substitutions live, as you type!
+vim.o.inccommand = 'split'
+
+-- Minimal number of screen lines to keep above and below the cursor.
+vim.o.scrolloff = 10
+
+-- if performing an operation that would fail due to unsaved changes in the buffer (like `:q`),
+-- instead raise a dialog asking if you wish to save the current file(s)
+-- See `:help 'confirm'`
+vim.o.confirm = true
+
+-- Make netrw simpler
+vim.g.netrw_banner = 0
+
+-- Amount of lines to scroll
+vim.opt.scroll = 10
+
+-- This is done to sync terminal background with neovim background
+-- effectively hiding the padding
+-- MiniMisc.setup_termbg_sync()
+
+-- Remove mouse menu (spawnable on MOUSE2)
+vim.cmd('aunmenu PopUp')
+vim.api.nvim_create_augroup('nvim_popupmenu', { clear = true })
+
+-- Remove the gigantic status bar and the command padding
+vim.opt.laststatus = 0
+vim.opt.statusline = "%#WinSeparator#"
+vim.opt.fillchars:append({
+ stl = '─',
+ stlnc = '─'
+})
+
+-- Keep the ruller to the essential
+vim.opt.rulerformat = '%l,%c'
+vim.opt.shortmess:append("I")
blob - /dev/null
blob + 6371fac130d15b90e0f51eb90f043bf00c6b3c6d (mode 644)
--- /dev/null
+++ nvim-pack-lock.json
+{
+ "plugins": {
+ "conform.nvim": {
+ "rev": "086a40dc7ed8242c03be9f47fbcee68699cc2395",
+ "src": "https://github.com/stevearc/conform.nvim"
+ },
+ "gitsigns.nvim": {
+ "rev": "8d82c240f190fc33723d48c308ccc1ed8baad69d",
+ "src": "https://github.com/lewis6991/gitsigns.nvim"
+ },
+ "plenary.nvim": {
+ "rev": "74b06c6c75e4eeb3108ec01852001636d85a932b",
+ "src": "https://github.com/nvim-lua/plenary.nvim"
+ },
+ "telescope-fzf-native.nvim": {
+ "rev": "6fea601bd2b694c6f2ae08a6c6fab14930c60e2c",
+ "src": "https://github.com/nvim-telescope/telescope-fzf-native.nvim"
+ },
+ "telescope-ui-select.nvim": {
+ "rev": "6e51d7da30bd139a6950adf2a47fda6df9fa06d2",
+ "src": "https://github.com/nvim-telescope/telescope-ui-select.nvim"
+ },
+ "telescope.nvim": {
+ "rev": "f7c673b8e46e8f233ff581d3624a517d33a7e264",
+ "src": "https://github.com/nvim-telescope/telescope.nvim"
+ }
+ }
+}
blob - b876ff7f0d14267737d1104029577ff58a5b62f3 (mode 644)
blob + /dev/null
--- plugins/gitsigns.lua
+++ /dev/null
-vim.pack.add({
- 'https://github.com/lewis6991/gitsigns.nvim',
-})
-
-require('gitsigns').setup {
- signs = {
- add = { text = '+' },
- change = { text = '~' },
- delete = { text = '_' },
- topdelete = { text = '‾' },
- changedelete = { text = '~' },
- },
- current_line_blame_opts = {
- virt_text = true,
- virt_text_pos = 'eol', -- 'eol' | 'overlay' | 'right_align'
- delay = 0,
- ignore_whitespace = false,
- virt_text_priority = 100,
- use_focus = true,
- },
- current_line_blame_formatter = '<author>, <author_time:%R> - <summary>',
-}
blob - f8e68073ce24d294c601556b11dea6837cea8e3c (mode 644)
blob + /dev/null
--- plugins/telescope.lua
+++ /dev/null
-vim.pack.add({
- 'https://github.com/nvim-lua/plenary.nvim'
- 'https://github.com/nvim-telescope/telescope-ui-select.nvim'
- 'https://github.com/nvim-telescope/telescope-fzf-native.nvim'
- 'https://github.com/nvim-telescope/telescope.nvim'
-})
-
blob - /dev/null
blob + 8f819bddf9d3baad1332b5ed5a274ff5874bc859 (mode 644)
--- /dev/null
+++ plugin/conform.lua
+vim.pack.add({
+ 'https://github.com/stevearc/conform.nvim',
+})
+
+require('conform').setup {
+ notify_on_error = true,
+ formatters_by_ft = {
+ go = { 'gofmt' },
+ htmlangular = { 'prettier' },
+ typescript = { 'prettier' },
+ javascript = { 'prettier' },
+ python = { 'black' },
+ php = { 'pretty-php' },
+ },
+}
blob - /dev/null
blob + b876ff7f0d14267737d1104029577ff58a5b62f3 (mode 644)
--- /dev/null
+++ plugin/gitsigns.lua
+vim.pack.add({
+ 'https://github.com/lewis6991/gitsigns.nvim',
+})
+
+require('gitsigns').setup {
+ signs = {
+ add = { text = '+' },
+ change = { text = '~' },
+ delete = { text = '_' },
+ topdelete = { text = '‾' },
+ changedelete = { text = '~' },
+ },
+ current_line_blame_opts = {
+ virt_text = true,
+ virt_text_pos = 'eol', -- 'eol' | 'overlay' | 'right_align'
+ delay = 0,
+ ignore_whitespace = false,
+ virt_text_priority = 100,
+ use_focus = true,
+ },
+ current_line_blame_formatter = '<author>, <author_time:%R> - <summary>',
+}
blob - /dev/null
blob + 28e3ab962c170e893e10d096b7e812ecc18e2122 (mode 644)
--- /dev/null
+++ plugin/telescope.lua
+vim.pack.add({
+ 'https://github.com/nvim-lua/plenary.nvim',
+ 'https://github.com/nvim-telescope/telescope-ui-select.nvim',
+ 'https://github.com/nvim-telescope/telescope-fzf-native.nvim',
+ 'https://github.com/nvim-telescope/telescope.nvim',
+})
+
+pcall(require('telescope').load_extension, 'fzf')
+pcall(require('telescope').load_extension, 'ui-select')
+
+require('telescope').setup{
+ defaults = {
+ layout_strategy = 'horizontal',
+ file_ignore_patterns = {
+ 'node_modules',
+ '^package%-lock%.json$',
+ '__init__.py',
+ },
+ mappings = {
+ i = {
+ ['<C-j>'] = 'move_selection_next',
+ ['<C-k>'] = 'move_selection_previous',
+ ['<C-q>'] = 'close',
+ },
+ n = {
+ ['q'] = 'close',
+ },
+ },
+ },
+ pickers = {
+ find_files = {
+ layout_config = {
+ height = 0.4,
+ width = 0.4,
+ prompt_position = 'top',
+ },
+ previewer = false,
+ },
+ live_grep = {
+ layout_config = {
+ prompt_position = 'top',
+ },
+ },
+ },
+ extensions = {
+ ['ui-select'] = {
+ require('telescope.themes').get_dropdown(),
+ },
+ },
+}