1
0
Fork 0
mirror of https://github.com/pnx/dotfiles synced 2026-06-16 03:14:55 +02:00

touched the nvim, alot.

This commit is contained in:
Henrik Hautakoski 2024-03-24 17:44:01 +01:00
parent 4c1b128c96
commit 13e4207ef5
28 changed files with 288 additions and 145 deletions

View file

@ -0,0 +1,13 @@
-- Nice command that creates all directores in the path
-- then creates the file and opens it.
vim.api.nvim_create_user_command('CreateFile',
function(opts)
local dir = vim.fs.dirname(opts.fargs[1])
vim.cmd(string.format("!mkdir -p %s\n !touch %s", dir, opts.fargs[1]))
vim.cmd.e(opts.fargs)
end,
{ nargs = 1, complete = "file" }
)
vim.cmd("ca cf CreateFile")

View file

@ -32,3 +32,4 @@ autocmd('Filetype', {
pattern = 'php',
command = 'setlocal commentstring=//\\%s'
})

View file

@ -4,37 +4,35 @@ return {
selected = '',
close = '',
pinned = '',
folder = {
closed = "",
open = "",
empty = "󰜌",
},
diff = {
added = '',
modified = '',
removed = '',
},
filetree = {
basic = {
folder_closed = "",
folder_open = "",
folder_empty = "󰜌",
},
git = {
-- Change type
added = "",
modified = "",
deleted = "",
renamed = "󰁕",
-- Status type
untracked = "",
ignored = "",
unstaged = "",
staged = "",
conflict = "",
},
},
diff_gutter = {
add = '',
change = '',
add = '',
change = '',
delete = '',
untracked = '+'
},
gitsigns = {
-- Change type
added = "",
modified = "",
deleted = "",
renamed = "󰁕",
-- Status type
untracked = "",
ignored = "",
unstaged = "",
staged = "",
conflict = "",
},
diagnostics = {
error = '',
warn = '',

View file

@ -1,3 +1,4 @@
require("config.settings")
require("config.mappings")
require("config.filetype")
require("config.commands")

View file

@ -53,6 +53,6 @@ map("n", "<leader>rw", [[:%s/\<<C-r><C-w>\>/<C-r><C-w>/gI<Left><Left><Left>]], {
map("n", "Q", "<nop>")
-- diagnostics
map("n", "<leader>DD", vim.diagnostic.open_float, { desc = "Open"})
map("n", "<leader>Dn", vim.diagnostic.get_next, { desc = "Open"})
map("n", "<leader>Dp", vim.diagnostic.get_prev, { desc = "Open"})
map("n", "<leader>do", vim.diagnostic.open_float, { desc = "Open diagnostics"})
map("n", "<leader>dn", vim.diagnostic.get_next, { desc = "Goto next"})
map("n", "<leader>dp", vim.diagnostic.get_prev, { desc = "Goto previous"})

View file

@ -2,11 +2,13 @@ return {
flavour = "mocha",
color_overrides = {
mocha = {
base = '#0E1019',
base = '#0e1019',
mantle = '#131521',
text = '#ECEEF4',
text = '#eceef4',
}
},
no_italic = true,
no_bold = true,
highlight_overrides = {
mocha = function(colors)
return {
@ -16,34 +18,46 @@ return {
IblScope = { fg = colors.overlay2 },
BufferCurrent = { fg = colors.text, bg = colors.base },
-- BufferInactive = { bg=colors.base},
-- BufferOffset = { bg = colors.mantle },
-- BufferTabpageFill = {bg=colors.base},
-- Bufferbar
BufferCurrentMod = { fg = colors.yellow, bg = colors.base },
BufferCurrentADDED = { fg = colors.green, bg = colors.base },
BufferCurrentCHANGED = { fg = colors.yellow, bg = colors.base },
BufferCurrentDELETED = { fg = colors.red, bg = colors.base },
-- LSP
LspReferenceText = { bg = colors.surface0 },
LspReferenceRead = { link = "LspReferenceText" },
LspReferenceWrite = { link = "LspReferenceText" },
-- Syntax
Operator = { link = "@text" },
PreProc = { link = "Include" },
Operator = { fg = colors.rosewater },
Function = { link = "@text" },
Delimiter = { link = "@text" },
Include = { fg = colors.yellow },
Include = { fg = colors.mauve },
Keyword = { fg = colors.yellow },
Repeat = { link = "Keyword" },
Conditional = { link = "Keyword" },
Type = { fg = colors.blue },
String = { fg = colors.lavender },
Exception = { link = "Keyword" },
["@constructor"] = { link = "Function" },
["@variable"] = { fg = colors.green },
["@variable.builtin"] = { link = "@variable" },
["@variable.parameter"] = { link = "@variable" },
["@variable.parameter"] = { link = "@parameter" },
["@variable.member"] = { link = "@variable" },
["@parameter"] = { link = "@variable" },
["@keyword.function"] = { link = "Keyword" },
["@keyword.return"] = { link = "Keyword" },
["@keyword.operator"] = { link = "Keyword" },
["@property"] = { link = "@variable" },
["@tag"] = { link = "Keyword" },
["@tag.delimiter"] = { link = "@text" },
["@punctuation"] = { link = "@text" },
["@module"] = { link = "@text" },
["@punctuation.bracket"] = { link = "@punctuation" },
["@lsp.type.property"] = { link = "@variable" },
-- PHP specific
["@class_name.php"] = { link = "@text" },
["@extend_name.php"] = { link = "@text" },
["@implements_name.php"] = { link = "@text" },

View file

@ -0,0 +1,18 @@
return {
keys = {
{ '<leader>ff', "<cmd>Format<cr>", desc = 'Format file' },
{ '<leader>ff', "<cmd>Format<cr>", mode = 'x', desc = 'Format selection' },
},
opts = {
format_options = {
async = true,
lsp_fallback = true,
},
notify_on_error = true,
formatters_by_ft = {
blade = { "blade-formatter" },
lua = { "stylua" },
["_"] = { "prettier" }
}
}
}

View file

@ -0,0 +1,7 @@
return {
keys = {
["<leader>la"] = { ":Laravel artisan<cr>", "Run artisan" },
["<leader>lr"] = { ":Laravel routes<cr>", "Search routes" },
["<leader>lm"] = { ":Laravel related<cr>", "Related" },
},
}

View file

@ -0,0 +1,45 @@
local icons = require('config.icons')
return {
key_groups = {
["<leader>s"] = { name = "+search" },
},
keys = {
{ '<leader>sf', '<cmd>Telescope find_files<cr>', desc = 'Search files' },
{ '<leader>sa', '<cmd>Telescope live_grep<cr>', desc = 'Search in files' },
{ '<leader>sg', '<cmd>Telescope git_files<cr>', desc = 'Search Git files' },
{ '<leader>so', '<cmd>Telescope oldfiles<cr>', desc = 'Search Old files' },
{ '<leader>sw', '<cmd>Telescope grep_string<cr>', desc = 'Search for word under cursor' },
-- LSP
{ '<leader>sr', '<cmd>Telescope lsp_references<cr>', desc = 'Search Reference' },
{ '<leader>ss', '<cmd>Telescope lsp_document_symbols<cr>', desc = 'Search document symbols' },
{ '<leader>sr', '<cmd>Telescope lsp_references<cr>', desc = 'Search Reference' },
{ 'gd', '<cmd>Telescope lsp_definitions<cr>', desc = 'Goto definition' },
},
opts = function()
local actions = require("telescope.actions")
return {
defaults = {
path_display = { truncate = 1 },
prompt_prefix = ' ',
selection_caret = icons.current .. ' ',
multi_icon = icons.selected .. ' ',
file_ignore_patterns = {
".git/",
"node_modules/"
},
mappings = {
i = {
["<esc>"] = actions.close
}
}
},
pickers = {
find_files = {
hidden = true
}
}
}
end,
}

View file

@ -1,13 +0,0 @@
return {
{ '<leader>sf', '<cmd>Telescope find_files<cr>', desc = 'Search files' },
{ '<leader>sa', '<cmd>Telescope live_grep<cr>', desc = 'Search in files' },
{ '<leader>sg', '<cmd>Telescope git_files<cr>', desc = 'Search Git files' },
{ '<leader>so', '<cmd>Telescope oldfiles<cr>', desc = 'Search Old files' },
{ '<leader>sw', '<cmd>Telescope grep_string<cr>', desc = 'Search for word under cursor' },
-- LSP
{ '<leader>sr', '<cmd>Telescope lsp_references<cr>', desc = 'Search Reference' },
{ '<leader>ss', '<cmd>Telescope lsp_document_symbols<cr>', desc = 'Search document symbols' },
{ '<leader>sr', '<cmd>Telescope lsp_references<cr>', desc = 'Search Reference' },
{ 'gd', '<cmd>Telescope lsp_definitions<cr>', desc = 'Goto definition' },
}

View file

@ -1,5 +1,5 @@
return {
'windwp/nvim-autopairs',
event = "InsertEnter",
opts = {} -- this is equalent to setup({}) function
config = true
}

View file

@ -1,7 +1,11 @@
return{
return {
"lukas-reineke/indent-blankline.nvim",
main = "ibl",
opts = {
debounce = 10,
indent = {
char = '',
},
scope = {
enabled = true,
show_start = false,
@ -13,5 +17,13 @@ return{
'dashboard'
}
}
}
},
config = function (_, opts)
require 'ibl'.setup(opts)
local hooks = require 'ibl.hooks'
hooks.register(hooks.type.WHITESPACE, hooks.builtin.hide_first_tab_indent_level)
hooks.register(hooks.type.WHITESPACE, hooks.builtin.hide_first_space_indent_level)
end
}

View file

@ -1,4 +1,4 @@
local icons = require('config.icons')
local config = require('config.plugins.telescope')
return {
'nvim-telescope/telescope.nvim',
@ -9,49 +9,30 @@ return {
'sharkdp/fd',
{
"folke/which-key.nvim",
-- optional = true,
optional = true,
opts = {
defaults = {
["<leader>s"] = { name = "+search" },
},
defaults = config.key_groups or {},
},
},
},
keys = require('config.telescope'),
opts = function()
local actions = require("telescope.actions")
return {
defaults = {
path_display = { truncate = 1 },
-- borderchars = { "─", "│", "─", "│", "┌", "┐", "┘", "└" },
border = {
prompt = { 1, 1, 1, 1 },
results = { 1, 1, 1, 1 },
preview = { 1, 1, 1, 1 },
},
borderchars = {
prompt = { "", "", "", "", "", "", "", "" },
results = { "", "", " ", "", "", "", "", "" },
preview = { "", "", "", " ", "", "", "", "" },
},
prompt_prefix = ' ' .. icons.prompt .. ' ',
selection_caret = icons.current .. ' ',
multi_icon = icons.selected .. ' ',
file_ignore_patterns = {
".git/",
"node_modules/"
},
mappings = {
i = {
["<esc>"] = actions.close
}
}
keys = config.keys or {},
opts = config.opts or {},
config = function (_, opts)
local override = {
border = {
prompt = { 1, 1, 1, 1 },
results = { 1, 1, 1, 1 },
preview = { 1, 1, 1, 1 },
},
borderchars = {
prompt = { "", "", "", "", "", "", "", "" },
results = { "", "", " ", "", "", "", "", "" },
preview = { "", "", "", " ", "", "", "", "" },
},
pickers = {
find_files = {
hidden = true
}
}
}
end,
opts.defaults = vim.tbl_deep_extend("force", opts.defaults, override)
require('telescope').setup(opts)
end
}

View file

@ -0,0 +1,38 @@
local config = require('config.plugins.conform')
return {
'stevearc/conform.nvim',
dependencies = {
"williamboman/mason.nvim",
"zapling/mason-conform.nvim"
},
cmd = { "ConformInfo", "Format" },
keys = config.keys or {},
opts = config.opts or {},
config = function (_, opts)
-- Create command to format a buffer or range.
vim.api.nvim_create_user_command("Format", function(args)
local range = nil
if args.count ~= -1 then
local end_line = vim.api.nvim_buf_get_lines(0, args.line2 - 1, args.line2, true)[1]
range = {
start = { args.line1, 0 },
["end"] = { args.line2, end_line:len() },
}
end
local opt = opts.format_options
if range ~= nil then
opt = vim.tbl_deep_extend("force", opt, { range = range })
end
require("conform").format(opt)
end, { range = true })
require('conform').setup(opts)
-- setup mason-conform to autmagically install formatters.
require('mason-conform').setup()
end
}

View file

@ -6,7 +6,7 @@ return {
-- optional = true,
opts = {
defaults = {
["<leader>d"] = { name = "+debug" },
["<leader>D"] = { name = "+debug" },
},
},
},
@ -14,8 +14,8 @@ return {
"rcarriga/nvim-dap-ui",
-- stylua: ignore
keys = {
{ "<leader>du", function() require("dapui").toggle({ }) end, desc = "Dap UI" },
{ "<leader>de", function() require("dapui").eval() end, desc = "Eval", mode = {"n", "v"} },
{ "<leader>Du", function() require("dapui").toggle({ }) end, desc = "Dap UI" },
{ "<leader>De", function() require("dapui").eval() end, desc = "Eval", mode = {"n", "v"} },
},
opts = {},
config = function(_, opts)
@ -37,7 +37,7 @@ return {
},
},
keys = {
{ "<leader>dw", function() require("dap.ui.widgets").hover() end, desc = "Widgets" },
{ "<leader>Dw", function() require("dap.ui.widgets").hover() end, desc = "Widgets" },
},
config = function()
-- local Config = require("lazyvim.config")

View file

@ -1,17 +0,0 @@
return {
"adalessa/laravel.nvim",
dependencies = {
"nvim-telescope/telescope.nvim",
"tpope/vim-dotenv",
"MunifTanjim/nui.nvim",
"nvimtools/none-ls.nvim",
},
cmd = { "Sail", "Artisan", "Composer", "Npm", "Yarn", "Laravel" },
keys = {
{ "<leader>la", ":Laravel artisan<cr>" },
{ "<leader>lr", ":Laravel routes<cr>" },
{ "<leader>lm", ":Laravel related<cr>" },
},
event = { "VeryLazy" },
config = true,
}

View file

@ -9,6 +9,7 @@ return {
mappings = {
["<leader>rs"] = { vim.lsp.buf.rename, { desc = "Rename symbol" }},
["<leader>ca"] = { vim.lsp.buf.code_action, { desc = "Code action" }},
["<leader>ff"] = { vim.lsp.buf.format, { desc = "Format file" }},
gd = { vim.lsp.buf.definition, { desc = "Goto definition" }},
gi = { vim.lsp.buf.implementation, { desc = "Goto implementation"}},
gr = { vim.lsp.buf.references, { desc = "Goto references"}},

View file

@ -20,14 +20,14 @@ local opts = {
require("lazy").setup({
-- Editor
--------------------
-----------------------------
{ import = "plugins.editor.indent" },
{ import = "plugins.editor.autopairs" },
{ import = "plugins.editor.mini-comment" },
{ import = "plugins.editor.telescope" },
-- UI
--------------------
-----------------------------
{ import = "plugins.ui.dressing" },
{ import = "plugins.ui.noice" },
{ import = "plugins.ui.dashboard" },
@ -40,15 +40,18 @@ require("lazy").setup({
{ import = "plugins.ui.which-key" },
-- IDE
--------------------
-----------------------------
{ import = "plugins.ide.treesitter" },
{ import = "plugins.ide.conform" },
{ import = "plugins.ide.cmp" },
{ import = "plugins.ide.lsp" },
{ import = "plugins.ide.dap" },
{ import = "plugins.ide.neotest" },
{ import = "plugins.ide.laravel" },
-- { import = "plugins.nvim-test" },
--{ import = "plugins.go" },
-- Language specific
-----------------------------
{ import = "plugins.lang.laravel" },
--{ import = "plugins.lang.go" },
}, opts)

View file

@ -0,0 +1,26 @@
return {
"adalessa/laravel.nvim",
dependencies = {
"nvim-telescope/telescope.nvim",
"tpope/vim-dotenv",
"MunifTanjim/nui.nvim",
"nvimtools/none-ls.nvim",
},
ft = "php",
cmd = { "Sail", "Artisan", "Composer", "Npm", "Yarn", "Laravel" },
config = function (_, _)
local opts = require('config.plugins.laravel')
local haswk, wk = pcall(require, "which-key")
if haswk then
wk.register({l = {name = "laravel" }}, { prefix = "<leader>" })
end
for key, value in pairs(opts.keys) do
vim.keymap.set("n", key, value[1], { desc = value[2] or ''})
end
require('laravel').setup(opts)
end
}

View file

@ -1,3 +0,0 @@
return {
"klen/nvim-test",
}

View file

@ -17,8 +17,13 @@ return {
separator = {left = '', right = ''},
separator_at_end = false,
inactive = { button = '', separator = { left = '', right = ''} },
modified = {button = icons.filetree.git.modified },
pinned = {button = '', filename = true},
modified = {button = icons.gitsigns.modified },
pinned = {button = icons.pinned, filename = true},
gitsigns = {
added = { enabled = false },
changed = { enabled = false },
deleted = { enabled = false },
}
},
maximum_padding = 2,
minimum_padding = 1,

View file

@ -2,7 +2,7 @@ return {
"catppuccin/nvim",
name = "catppuccin",
priority = 1000,
opts = require('config.catppuccin'),
opts = require('config.plugins.catppuccin'),
config = function (_, opts)
require("catppuccin").setup(opts)
vim.cmd.colorscheme("catppuccin")

View file

@ -23,12 +23,16 @@ return {
indent_marker = "",
last_indent_marker = "",
},
icon = icons.filetree.basic,
icon = {
folder_open = icons.folder.open,
folder_close = icons.folder.close,
folder_empty = icons.folder.empty,
},
name = {
use_git_status_colors = false,
},
git_status = {
symbols = icons.filetree.git
symbols = icons.gitsigns
},
},
event_handlers = {

View file

@ -11,6 +11,7 @@ return {
["<leader>r"] = { name = "+rename" },
["<leader>b"] = { name = "+buffers" },
["<leader>f"] = { name = "+files" },
["<leader>d"] = { name = "+diagnostics" }
}
},
config = function(_, opts)