chore: clean up dotfiles and add gitignore whitelist
Switch to whitelist-based .gitignore to only track essential configs: nvim, yazi, kitty, zsh, ideavim, karabiner, tmux, scripts, starship. Remove history, compiled files, and plugin dirs from tracking. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -1,41 +0,0 @@
|
||||
local cmp = require('cmp')
|
||||
local luasnip = require('luasnip')
|
||||
|
||||
require("luasnip.loaders.from_vscode").lazy_load() -- Load friendly-snippets
|
||||
require("luasnip.loaders.from_lua").load({ paths = "~/.config/nvim/lua/snippets" }) -- Load custom Lua snippets
|
||||
|
||||
cmp.setup({
|
||||
snippet = {
|
||||
expand = function(args)
|
||||
luasnip.lsp_expand(args.body) -- Use LuaSnip for expanding snippets
|
||||
end,
|
||||
},
|
||||
mapping = {
|
||||
['<C-Space>'] = cmp.mapping.complete(), -- Trigger completion manually
|
||||
['<CR>'] = cmp.mapping.confirm({ select = true }), -- Confirm completion
|
||||
['<Tab>'] = cmp.mapping(function(fallback)
|
||||
if cmp.visible() then
|
||||
cmp.select_next_item()
|
||||
elseif luasnip.expand_or_jumpable() then
|
||||
luasnip.expand_or_jump()
|
||||
else
|
||||
fallback()
|
||||
end
|
||||
end, { 'i', 's' }),
|
||||
['<S-Tab>'] = cmp.mapping(function(fallback)
|
||||
if cmp.visible() then
|
||||
cmp.select_prev_item()
|
||||
elseif luasnip.jumpable(-1) then
|
||||
luasnip.jump(-1)
|
||||
else
|
||||
fallback()
|
||||
end
|
||||
end, { 'i', 's' }),
|
||||
},
|
||||
sources = cmp.config.sources({
|
||||
{ name = 'nvim_lsp' }, -- LSP suggestions
|
||||
{ name = 'luasnip' }, -- Snippets
|
||||
{ name = 'buffer' }, -- Buffer words
|
||||
{ name = 'path' }, -- File paths
|
||||
})
|
||||
})
|
||||
@@ -1,182 +0,0 @@
|
||||
# vim:fileencoding=utf-8:foldmethod=marker
|
||||
vim.cmd [[packadd packer.nvim]]
|
||||
require('packer').startup(function(use)
|
||||
|
||||
-- {{{ Packer manages itself
|
||||
use 'wbthomason/packer.nvim' -- Packer manages itself
|
||||
-- }}}
|
||||
-- {{{ VIM AutoSave
|
||||
use({
|
||||
'okuuva/auto-save.nvim',
|
||||
tag = 'v1*',
|
||||
config = function()
|
||||
require('auto-save').setup({
|
||||
-- your config goes here
|
||||
-- or just leave it empty :)
|
||||
})
|
||||
end,
|
||||
})
|
||||
-- }}}
|
||||
-- {{{ Nvim-Tree
|
||||
use {
|
||||
'nvim-tree/nvim-tree.lua',
|
||||
config = function()
|
||||
require('plugins.nvim-tree').setup()
|
||||
end,
|
||||
}
|
||||
-- }}}
|
||||
-- {{{ Themes
|
||||
use 'gruvbox-community/gruvbox' -- Gruvbox theme
|
||||
use 'folke/tokyonight.nvim' -- Tokyo Night theme
|
||||
-- }}}
|
||||
-- {{{ Treesitter
|
||||
use {
|
||||
'nvim-treesitter/nvim-treesitter',
|
||||
run = ':TSUpdate' -- Keep parsers up to date
|
||||
}
|
||||
require('plugins.treesitter')
|
||||
-- }}}
|
||||
-- {{{ Rainbow Delimiters
|
||||
use 'HiPhish/rainbow-delimiters.nvim'
|
||||
require('plugins.rainbow_delimiters')
|
||||
-- }}}
|
||||
-- {{{ Git Integration
|
||||
use 'lewis6991/gitsigns.nvim' -- Git decorations in the gutter
|
||||
use 'tpope/vim-fugitive' -- Git commands in Neovim
|
||||
-- }}}
|
||||
-- {{{ Status Line
|
||||
use {
|
||||
'nvim-lualine/lualine.nvim',
|
||||
requires = { 'kyazdani42/nvim-web-devicons', opt = true } -- Optional icons
|
||||
}
|
||||
require('plugins.lualine')
|
||||
-- Override background transparency with custom highlights
|
||||
vim.cmd [[
|
||||
highlight lualine_a_normal guibg=NONE
|
||||
highlight lualine_b_normal guibg=NONE
|
||||
highlight lualine_c_normal guibg=NONE
|
||||
]]
|
||||
-- }}}
|
||||
-- {{{ HardTime
|
||||
use {
|
||||
'm4xshen/hardtime.nvim',
|
||||
requires = { 'MunifTanjim/nui.nvim' }
|
||||
}
|
||||
-- }}}
|
||||
-- {{{ FZF
|
||||
use {
|
||||
'junegunn/fzf',
|
||||
run = function() vim.fn['fzf#install']() end
|
||||
}
|
||||
use 'junegunn/fzf.vim'
|
||||
-- }}}
|
||||
-- {{{ Productivity
|
||||
use 'numToStr/Comment.nvim'
|
||||
use 'windwp/nvim-autopairs'
|
||||
use 'tpope/vim-surround'
|
||||
-- }}}
|
||||
-- {{{ LaTeX
|
||||
use 'lervag/vimtex'
|
||||
require('plugins.vimtex')
|
||||
-- }}}
|
||||
-- -- {{{ Outline
|
||||
-- use {
|
||||
-- 'hedyhli/outline.nvim',
|
||||
-- config = function()
|
||||
-- require('plugins.outline').setup()
|
||||
-- end
|
||||
-- }
|
||||
-- }}}
|
||||
-- {{{ Org-Mode
|
||||
use {'nvim-orgmode/orgmode', config = function()
|
||||
require('orgmode').setup{}
|
||||
end
|
||||
}
|
||||
--}}}
|
||||
-- {{{ Telescope
|
||||
use {
|
||||
'nvim-telescope/telescope.nvim',
|
||||
requires = { {'nvim-lua/plenary.nvim'} },
|
||||
config = function()
|
||||
-- Leader key mappings for Telescope
|
||||
vim.api.nvim_set_keymap('n', '<leader>ff', ':Telescope find_files<CR>'
|
||||
, { noremap = true, silent = true })
|
||||
vim.api.nvim_set_keymap('n', '<leader>fg', ':Telescope live_grep<CR>',
|
||||
{ noremap = true, silent = true })
|
||||
vim.api.nvim_set_keymap('n', '<leader>fb', ':Telescope buffers<CR>', {
|
||||
noremap = true, silent = true })
|
||||
vim.api.nvim_set_keymap('n', '<leader>fh', ':Telescope help_tags<CR>',
|
||||
{ noremap = true, silent = true })
|
||||
end
|
||||
}
|
||||
-- }}}
|
||||
-- Yazi.nvim {{{
|
||||
use({
|
||||
"mikavilpas/yazi.nvim",
|
||||
config = function()
|
||||
|
||||
require("yazi").setup({
|
||||
open_for_directories = false,
|
||||
keymaps = {
|
||||
show_help = "<F1>",
|
||||
},
|
||||
})
|
||||
end,
|
||||
})
|
||||
--- }}}
|
||||
-- Hop.nvim {{{
|
||||
use {
|
||||
'phaazon/hop.nvim',
|
||||
branch = 'v2', -- optional but strongly recommended
|
||||
config = function()
|
||||
-- you can configure Hop the way you like here; see :h hop-config
|
||||
require'hop'.setup { keys = 'etovxqpdygfblzhckisuran' }
|
||||
end
|
||||
}
|
||||
-- }}}
|
||||
-- nvim.cmp {{{
|
||||
use {
|
||||
'hrsh7th/nvim-cmp',
|
||||
requires = {
|
||||
'hrsh7th/cmp-buffer', -- Buffer completions
|
||||
'hrsh7th/cmp-path', -- Path completions
|
||||
'hrsh7th/cmp-nvim-lsp', -- LSP completions
|
||||
'hrsh7th/cmp-nvim-lua', -- Neovim API completions
|
||||
'saadparwaiz1/cmp_luasnip', -- Snippet completions
|
||||
'L3MON4D3/LuaSnip', -- Snippet engine
|
||||
'rafamadriz/friendly-snippets', -- Predefined snippets
|
||||
'evesdropper/luasnip-latex-snippets.nvim'
|
||||
}
|
||||
}
|
||||
-- }}}
|
||||
-- Markdown {{{
|
||||
use 'SidOfc/mkdx'
|
||||
use({
|
||||
'MeanderingProgrammer/render-markdown.nvim',
|
||||
after = { 'nvim-treesitter' },
|
||||
-- requires = { 'echasnovski/mini.nvim', opt = true }, -- if you use the mini.nvim suite
|
||||
requires = { 'echasnovski/mini.icons', opt = true }, -- if you use standalone mini plugins
|
||||
-- requires = { 'nvim-tree/nvim-web-devicons', opt = true }, -- if you prefer nvim-web-devicons
|
||||
config = function()
|
||||
require('render-markdown').setup({})
|
||||
end,
|
||||
})
|
||||
-- }}}
|
||||
-- Code Formatting {{{
|
||||
use({
|
||||
"nvimtools/none-ls.nvim",
|
||||
config = function()
|
||||
requires = { "nvim-lua/plenary.nvim" },
|
||||
require("plugins.prettier")
|
||||
end,
|
||||
})
|
||||
-- }}}
|
||||
-- Zotero Integration (deactivated){{{
|
||||
-- use {
|
||||
-- 'jalvesaq/zotcite',
|
||||
-- requires = {
|
||||
-- 'vim-pandoc/vim-pandoc',
|
||||
-- 'vim-pandoc/vim-pandoc-syntax'
|
||||
-- }
|
||||
-- }}}
|
||||
end)
|
||||
@@ -11,25 +11,6 @@ return {
|
||||
"okuuva/auto-save.nvim",
|
||||
version = "v1.*",
|
||||
event = { "InsertLeave", "TextChanged" },
|
||||
init = function()
|
||||
local group = vim.api.nvim_create_augroup("autosave_message", { clear = true })
|
||||
vim.api.nvim_create_autocmd("User", {
|
||||
pattern = "AutoSaveWritePost",
|
||||
group = group,
|
||||
callback = function(opts)
|
||||
local saved_buffer = opts.data and opts.data.saved_buffer
|
||||
if not saved_buffer then
|
||||
return
|
||||
end
|
||||
|
||||
local filename = vim.fn.fnamemodify(vim.api.nvim_buf_get_name(saved_buffer), ":t")
|
||||
if filename == "" then
|
||||
filename = "[No Name]"
|
||||
end
|
||||
vim.notify("AutoSave: " .. filename, vim.log.levels.INFO, { title = "auto-save.nvim" })
|
||||
end,
|
||||
})
|
||||
end,
|
||||
opts = {
|
||||
enabled = true,
|
||||
trigger_events = {
|
||||
@@ -129,7 +110,13 @@ return {
|
||||
{
|
||||
"folke/flash.nvim",
|
||||
event = "VeryLazy",
|
||||
opts = {},
|
||||
opts = {
|
||||
modes = {
|
||||
char = {
|
||||
enabled = false,
|
||||
},
|
||||
},
|
||||
},
|
||||
keys = {
|
||||
{ "s", mode = { "n", "x", "o" }, function() require("flash").jump() end, desc = "Flash jump" },
|
||||
{ "S", mode = { "n", "x", "o" }, function() require("flash").treesitter() end, desc = "Flash treesitter" },
|
||||
@@ -204,6 +191,39 @@ return {
|
||||
|
||||
-- Markdown
|
||||
{ "SidOfc/mkdx", ft = "markdown" },
|
||||
{
|
||||
"epwalsh/obsidian.nvim",
|
||||
version = "*",
|
||||
lazy = true,
|
||||
ft = "markdown",
|
||||
dependencies = { "nvim-lua/plenary.nvim" },
|
||||
keys = {
|
||||
{ "<leader>on", "<cmd>ObsidianNew<cr>", desc = "New note" },
|
||||
{ "<leader>oo", "<cmd>ObsidianQuickSwitch<cr>", desc = "Quick switch" },
|
||||
{ "<leader>os", "<cmd>ObsidianSearch<cr>", desc = "Search notes" },
|
||||
{ "<leader>ob", "<cmd>ObsidianBacklinks<cr>", desc = "Backlinks" },
|
||||
{ "<leader>ot", "<cmd>ObsidianTags<cr>", desc = "Tags" },
|
||||
{ "<leader>od", "<cmd>ObsidianToday<cr>", desc = "Today's note" },
|
||||
},
|
||||
opts = {
|
||||
workspaces = {
|
||||
{ name = "private", path = "~/Library/Mobile Documents/iCloud~md~obsidian/Documents/Private" },
|
||||
{ name = "work", path = "~/Library/Mobile Documents/iCloud~md~obsidian/Documents/Work" },
|
||||
},
|
||||
completion = { nvim_cmp = false, min_chars = 2 },
|
||||
ui = { enable = false }, -- render-markdown.nvim übernimmt das
|
||||
disable_frontmatter = true,
|
||||
},
|
||||
},
|
||||
{
|
||||
"iamcco/markdown-preview.nvim",
|
||||
cmd = { "MarkdownPreview", "MarkdownPreviewStop", "MarkdownPreviewToggle" },
|
||||
ft = { "markdown" },
|
||||
build = function() vim.fn["mkdp#util#install"]() end,
|
||||
keys = {
|
||||
{ "<leader>mp", "<cmd>MarkdownPreviewToggle<cr>", desc = "Markdown Preview" },
|
||||
},
|
||||
},
|
||||
{
|
||||
"MeanderingProgrammer/render-markdown.nvim",
|
||||
dependencies = { "nvim-treesitter/nvim-treesitter", "echasnovski/mini.icons" },
|
||||
|
||||
@@ -104,7 +104,7 @@ return {
|
||||
end,
|
||||
},
|
||||
{
|
||||
"fmuaddel/blink-copilot",
|
||||
"giuxtaposition/blink-cmp-copilot",
|
||||
dependencies = { "zbirenbaum/copilot.lua" },
|
||||
},
|
||||
},
|
||||
@@ -126,7 +126,7 @@ return {
|
||||
},
|
||||
copilot = {
|
||||
name = "copilot",
|
||||
module = "blink-copilot",
|
||||
module = "blink-cmp-copilot",
|
||||
score_offset = 50,
|
||||
async = true,
|
||||
},
|
||||
|
||||
@@ -34,6 +34,9 @@ return {
|
||||
highlight_git = true,
|
||||
highlight_opened_files = "all",
|
||||
icons = {
|
||||
show = {
|
||||
diagnostics = false,
|
||||
},
|
||||
glyphs = {
|
||||
default = "",
|
||||
symlink = "",
|
||||
@@ -61,12 +64,6 @@ return {
|
||||
diagnostics = {
|
||||
enable = true,
|
||||
show_on_dirs = true,
|
||||
icons = {
|
||||
hint = "",
|
||||
info = "",
|
||||
warning = "",
|
||||
error = "",
|
||||
},
|
||||
},
|
||||
filters = {
|
||||
dotfiles = false,
|
||||
|
||||
@@ -18,7 +18,7 @@ return {
|
||||
json = { "prettier" },
|
||||
html = { "prettier" },
|
||||
css = { "prettier" },
|
||||
markdown = { "prettier" },
|
||||
markdown = { "mdformat" },
|
||||
yaml = { "prettier" },
|
||||
},
|
||||
format_on_save = {
|
||||
|
||||
@@ -6,18 +6,42 @@ local f = ls.function_node
|
||||
|
||||
-- Get current date in YYYY-MM-DD format
|
||||
local function date()
|
||||
return os.date("%Y-%m-%d")
|
||||
return os.date("%Y-%m-%d")
|
||||
end
|
||||
|
||||
return {
|
||||
s("env", {
|
||||
t({"---",
|
||||
"title: "}), i(1, "Title"), t({"",
|
||||
"tags: ["}), i(2, "tag1, tag2"), t({"]",
|
||||
"date: "}), f(date, {}), t({"",
|
||||
"---", ""}),
|
||||
i(0),
|
||||
}),
|
||||
}
|
||||
s("env", {
|
||||
t({
|
||||
"---",
|
||||
"title: ",
|
||||
}),
|
||||
i(1, "Title"),
|
||||
t({ "", "tags: [" }),
|
||||
i(2, "tag1, tag2"),
|
||||
t({ "]", "date: " }),
|
||||
f(date, {}),
|
||||
t({ "", "---", "" }),
|
||||
i(0),
|
||||
}),
|
||||
|
||||
s(
|
||||
"ippd",
|
||||
t({
|
||||
"Institute of Polymer Processing and Digital Transformation",
|
||||
})
|
||||
),
|
||||
|
||||
s(
|
||||
"TN",
|
||||
t({
|
||||
"Thomas Naderer",
|
||||
})
|
||||
),
|
||||
|
||||
s(
|
||||
"GBW",
|
||||
t({
|
||||
"Gerald Berger-Weber",
|
||||
})
|
||||
),
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user