My first try
This commit is contained in:
parent
4d0dc8d4b1
commit
ae0e0b2446
|
@ -0,0 +1 @@
|
||||||
|
set foldmethod=indent
|
147
init.lua
147
init.lua
|
@ -41,8 +41,8 @@ P.S. You can delete this when you're done too. It's your config now :)
|
||||||
-- Set <space> as the leader key
|
-- Set <space> as the leader key
|
||||||
-- See `:help mapleader`
|
-- See `:help mapleader`
|
||||||
-- NOTE: Must happen before plugins are required (otherwise wrong leader will be used)
|
-- NOTE: Must happen before plugins are required (otherwise wrong leader will be used)
|
||||||
vim.g.mapleader = ' '
|
vim.g.mapleader = ','
|
||||||
vim.g.maplocalleader = ' '
|
vim.g.maplocalleader = ','
|
||||||
|
|
||||||
-- [[ Install `lazy.nvim` plugin manager ]]
|
-- [[ Install `lazy.nvim` plugin manager ]]
|
||||||
-- https://github.com/folke/lazy.nvim
|
-- https://github.com/folke/lazy.nvim
|
||||||
|
@ -89,12 +89,16 @@ require('lazy').setup({
|
||||||
-- Useful status updates for LSP
|
-- Useful status updates for LSP
|
||||||
-- NOTE: `opts = {}` is the same as calling `require('fidget').setup({})`
|
-- NOTE: `opts = {}` is the same as calling `require('fidget').setup({})`
|
||||||
{ 'j-hui/fidget.nvim', opts = {} },
|
{ 'j-hui/fidget.nvim', opts = {} },
|
||||||
|
-- { 'j-hui/fidget.nvim', tag = 'legacy', opts = {} },
|
||||||
|
|
||||||
-- Additional lua configuration, makes nvim stuff amazing!
|
-- Additional lua configuration, makes nvim stuff amazing!
|
||||||
'folke/neodev.nvim',
|
'folke/neodev.nvim',
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
|
-- Copilot
|
||||||
|
'zbirenbaum/copilot.lua',
|
||||||
|
|
||||||
{
|
{
|
||||||
-- Autocompletion
|
-- Autocompletion
|
||||||
'hrsh7th/nvim-cmp',
|
'hrsh7th/nvim-cmp',
|
||||||
|
@ -109,6 +113,13 @@ require('lazy').setup({
|
||||||
|
|
||||||
-- Adds a number of user-friendly snippets
|
-- Adds a number of user-friendly snippets
|
||||||
'rafamadriz/friendly-snippets',
|
'rafamadriz/friendly-snippets',
|
||||||
|
|
||||||
|
-- Ultisnip
|
||||||
|
'SirVer/ultisnips',
|
||||||
|
'quangnguyen30192/cmp-nvim-ultisnips',
|
||||||
|
|
||||||
|
-- Copilot
|
||||||
|
'zbirenbaum/copilot-cmp',
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
|
@ -189,15 +200,29 @@ require('lazy').setup({
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
|
--{
|
||||||
|
-- -- Theme inspired by Atom
|
||||||
|
-- 'navarasu/onedark.nvim',
|
||||||
|
-- priority = 1000,
|
||||||
|
-- config = function()
|
||||||
|
-- vim.cmd.colorscheme 'onedark'
|
||||||
|
-- end,
|
||||||
|
--},
|
||||||
{
|
{
|
||||||
-- Theme inspired by Atom
|
-- Source for molokayo
|
||||||
'navarasu/onedark.nvim',
|
'rafi/awesome-vim-colorschemes',
|
||||||
priority = 1000,
|
|
||||||
config = function()
|
config = function()
|
||||||
vim.cmd.colorscheme 'onedark'
|
vim.cmd.colorscheme 'molokayo'
|
||||||
end,
|
end,
|
||||||
},
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
'stevearc/oil.nvim',
|
||||||
|
opts = {},
|
||||||
|
-- Optional dependencies
|
||||||
|
dependencies = { "nvim-tree/nvim-web-devicons" },
|
||||||
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
-- Set lualine as statusline
|
-- Set lualine as statusline
|
||||||
'nvim-lualine/lualine.nvim',
|
'nvim-lualine/lualine.nvim',
|
||||||
|
@ -205,13 +230,22 @@ require('lazy').setup({
|
||||||
opts = {
|
opts = {
|
||||||
options = {
|
options = {
|
||||||
icons_enabled = false,
|
icons_enabled = false,
|
||||||
theme = 'onedark',
|
theme = 'codedark',
|
||||||
component_separators = '|',
|
component_separators = '|',
|
||||||
section_separators = '',
|
section_separators = '',
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
|
-- UndoTree
|
||||||
|
{
|
||||||
|
'mbbill/undotree',
|
||||||
|
opts = {},
|
||||||
|
config = function()
|
||||||
|
vim.g.undotree_WindowLayout = 2
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
-- Add indentation guides even on blank lines
|
-- Add indentation guides even on blank lines
|
||||||
'lukas-reineke/indent-blankline.nvim',
|
'lukas-reineke/indent-blankline.nvim',
|
||||||
|
@ -257,8 +291,8 @@ require('lazy').setup({
|
||||||
-- NOTE: Next Step on Your Neovim Journey: Add/Configure additional "plugins" for kickstart
|
-- NOTE: Next Step on Your Neovim Journey: Add/Configure additional "plugins" for kickstart
|
||||||
-- These are some example plugins that I've included in the kickstart repository.
|
-- These are some example plugins that I've included in the kickstart repository.
|
||||||
-- Uncomment any of the lines below to enable them.
|
-- Uncomment any of the lines below to enable them.
|
||||||
-- require 'kickstart.plugins.autoformat',
|
require 'kickstart.plugins.autoformat',
|
||||||
-- require 'kickstart.plugins.debug',
|
require 'kickstart.plugins.debug',
|
||||||
|
|
||||||
-- NOTE: The import below can automatically add your own plugins, configuration, etc from `lua/custom/plugins/*.lua`
|
-- NOTE: The import below can automatically add your own plugins, configuration, etc from `lua/custom/plugins/*.lua`
|
||||||
-- You can use this folder to prevent any conflicts with this init.lua if you're interested in keeping
|
-- You can use this folder to prevent any conflicts with this init.lua if you're interested in keeping
|
||||||
|
@ -267,6 +301,7 @@ require('lazy').setup({
|
||||||
--
|
--
|
||||||
-- For additional information see: https://github.com/folke/lazy.nvim#-structuring-your-plugins
|
-- For additional information see: https://github.com/folke/lazy.nvim#-structuring-your-plugins
|
||||||
-- { import = 'custom.plugins' },
|
-- { import = 'custom.plugins' },
|
||||||
|
'liuchengxu/vista.vim',
|
||||||
}, {})
|
}, {})
|
||||||
|
|
||||||
-- [[ Setting options ]]
|
-- [[ Setting options ]]
|
||||||
|
@ -274,18 +309,25 @@ require('lazy').setup({
|
||||||
-- NOTE: You can change these options as you wish!
|
-- NOTE: You can change these options as you wish!
|
||||||
|
|
||||||
-- Set highlight on search
|
-- Set highlight on search
|
||||||
vim.o.hlsearch = false
|
vim.o.hlsearch = true
|
||||||
|
|
||||||
-- Make line numbers default
|
-- Make line numbers default
|
||||||
vim.wo.number = true
|
vim.wo.number = true
|
||||||
|
|
||||||
-- Enable mouse mode
|
-- Enable mouse mode
|
||||||
vim.o.mouse = 'a'
|
vim.o.mouse = ''
|
||||||
|
|
||||||
|
--- Disable wrap
|
||||||
|
vim.wo.wrap = false
|
||||||
|
|
||||||
-- Sync clipboard between OS and Neovim.
|
-- Sync clipboard between OS and Neovim.
|
||||||
-- Remove this option if you want your OS clipboard to remain independent.
|
-- Remove this option if you want your OS clipboard to remain independent.
|
||||||
-- See `:help 'clipboard'`
|
-- See `:help 'clipboard'`
|
||||||
vim.o.clipboard = 'unnamedplus'
|
if vim.fn.has('macunix') then
|
||||||
|
vim.o.clipboard = 'unnamed'
|
||||||
|
else
|
||||||
|
vim.o.clipboard = 'unnamedplus'
|
||||||
|
end
|
||||||
|
|
||||||
-- Enable break indent
|
-- Enable break indent
|
||||||
vim.o.breakindent = true
|
vim.o.breakindent = true
|
||||||
|
@ -293,9 +335,10 @@ vim.o.breakindent = true
|
||||||
-- Save undo history
|
-- Save undo history
|
||||||
vim.o.undofile = true
|
vim.o.undofile = true
|
||||||
|
|
||||||
|
-- MEH, I want control over case sensitivity
|
||||||
-- Case-insensitive searching UNLESS \C or capital in search
|
-- Case-insensitive searching UNLESS \C or capital in search
|
||||||
vim.o.ignorecase = true
|
vim.o.ignorecase = false
|
||||||
vim.o.smartcase = true
|
vim.o.smartcase = false
|
||||||
|
|
||||||
-- Keep signcolumn on by default
|
-- Keep signcolumn on by default
|
||||||
vim.wo.signcolumn = 'yes'
|
vim.wo.signcolumn = 'yes'
|
||||||
|
@ -310,6 +353,9 @@ vim.o.completeopt = 'menuone,noselect'
|
||||||
-- NOTE: You should make sure your terminal supports this
|
-- NOTE: You should make sure your terminal supports this
|
||||||
vim.o.termguicolors = true
|
vim.o.termguicolors = true
|
||||||
|
|
||||||
|
-- Folds
|
||||||
|
vim.o.foldenable = false
|
||||||
|
|
||||||
-- [[ Basic Keymaps ]]
|
-- [[ Basic Keymaps ]]
|
||||||
|
|
||||||
-- Keymaps for better default experience
|
-- Keymaps for better default experience
|
||||||
|
@ -423,8 +469,9 @@ vim.keymap.set('n', '<leader>sr', require('telescope.builtin').resume, { desc =
|
||||||
vim.defer_fn(function()
|
vim.defer_fn(function()
|
||||||
require('nvim-treesitter.configs').setup {
|
require('nvim-treesitter.configs').setup {
|
||||||
-- Add languages to be installed here that you want installed for treesitter
|
-- Add languages to be installed here that you want installed for treesitter
|
||||||
ensure_installed = { 'c', 'cpp', 'go', 'lua', 'python', 'rust', 'tsx', 'javascript', 'typescript', 'vimdoc', 'vim', 'bash' },
|
ensure_installed = {
|
||||||
|
'go', 'lua', 'python', 'vimdoc', 'vim', 'bash',
|
||||||
|
},
|
||||||
-- Autoinstall languages that are not installed. Defaults to false (but you can change for yourself!)
|
-- Autoinstall languages that are not installed. Defaults to false (but you can change for yourself!)
|
||||||
auto_install = false,
|
auto_install = false,
|
||||||
|
|
||||||
|
@ -564,8 +611,10 @@ require('mason-lspconfig').setup()
|
||||||
-- define the property 'filetypes' to the map in question.
|
-- define the property 'filetypes' to the map in question.
|
||||||
local servers = {
|
local servers = {
|
||||||
-- clangd = {},
|
-- clangd = {},
|
||||||
-- gopls = {},
|
gopls = {},
|
||||||
-- pyright = {},
|
pyright = {},
|
||||||
|
jedi_language_server = {},
|
||||||
|
pylsp = {},
|
||||||
-- rust_analyzer = {},
|
-- rust_analyzer = {},
|
||||||
-- tsserver = {},
|
-- tsserver = {},
|
||||||
-- html = { filetypes = { 'html', 'twig', 'hbs'} },
|
-- html = { filetypes = { 'html', 'twig', 'hbs'} },
|
||||||
|
@ -651,11 +700,71 @@ cmp.setup {
|
||||||
end, { 'i', 's' }),
|
end, { 'i', 's' }),
|
||||||
},
|
},
|
||||||
sources = {
|
sources = {
|
||||||
|
{ name = 'copilot' },
|
||||||
{ name = 'nvim_lsp' },
|
{ name = 'nvim_lsp' },
|
||||||
{ name = 'luasnip' },
|
{ name = 'luasnip' },
|
||||||
{ name = 'path' },
|
{ name = 'path' },
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
-- The line beneath this is called `modeline`. See `:help modeline`
|
-- FS plugin
|
||||||
|
require("oil").setup({
|
||||||
|
colums = {
|
||||||
|
"icon",
|
||||||
|
"permissions",
|
||||||
|
"size",
|
||||||
|
},
|
||||||
|
keymaps = {
|
||||||
|
["<CR>"] = "actions.select_vsplit",
|
||||||
|
["<C-s>"] = "actions.select",
|
||||||
|
},
|
||||||
|
view_options = {
|
||||||
|
show_hidden = true
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
-- Copilot
|
||||||
|
require('copilot').setup({
|
||||||
|
panel = { enabled = false },
|
||||||
|
suggestion = { enabled = false },
|
||||||
|
})
|
||||||
|
|
||||||
|
require('copilot_cmp').setup()
|
||||||
|
|
||||||
|
vim.api.nvim_set_keymap('n', '<Space>', 'za', { noremap = true, silent = true }) -- Indents
|
||||||
|
|
||||||
|
-- Configure stuff for VimVista
|
||||||
|
vim.api.nvim_set_keymap('n', '<Leader>vv', ':Vista!!<CR>', { noremap = true, desc = "[V]iew [Vista]" })
|
||||||
|
|
||||||
|
vim.g.vista_fzf_preview = { 'right:50%' }
|
||||||
|
|
||||||
|
-- Set conf for rhubarb
|
||||||
|
vim.g.github_enterprise_urls = {
|
||||||
|
'https://github.wdf.sap.corp', 'github.tools.sap'
|
||||||
|
}
|
||||||
|
|
||||||
|
-- Line at 80
|
||||||
|
vim.opt.colorcolumn = "100"
|
||||||
|
|
||||||
|
-- Set cursor according modes
|
||||||
|
vim.opt.guicursor =
|
||||||
|
"n-v-c:block,i-ci-ve:ver25,r-cr:hor20,o:hor50,a:blinkwait700-blinkoff400-blinkon250-Cursor/lCursor,sm:block-blinkwait175-blinkoff150-blinkon175"
|
||||||
|
|
||||||
|
-- Nullify :W and :Q
|
||||||
|
vim.keymap.set("n", "Q", "<nop>")
|
||||||
|
vim.keymap.set("n", "W", "<nop>")
|
||||||
|
|
||||||
|
-- VBAll
|
||||||
|
vim.api.nvim_command("ca vball vertical ball")
|
||||||
|
|
||||||
|
-- FormatJson
|
||||||
|
vim.api.nvim_command("com! FormatJSON %!jq")
|
||||||
|
|
||||||
|
-- Enable UndoTree
|
||||||
|
vim.keymap.set('n', '<leader>u', vim.cmd.UndotreeToggle)
|
||||||
|
|
||||||
|
-- Disable background
|
||||||
|
vim.api.nvim_set_hl(0, "Normal", { bg = "none" })
|
||||||
|
vim.api.nvim_set_hl(0, "NormalFloat", { bg = "none" })
|
||||||
|
|
||||||
-- vim: ts=2 sts=2 sw=2 et
|
-- vim: ts=2 sts=2 sw=2 et
|
||||||
|
|
Loading…
Reference in New Issue