added nvim config
This commit is contained in:
parent
aec23e0e0a
commit
cce170ad96
2
.gitignore
vendored
2
.gitignore
vendored
@ -1,2 +1,4 @@
|
|||||||
user/.config/zsh/personal/*
|
user/.config/zsh/personal/*
|
||||||
user/.config/autorandr/*
|
user/.config/autorandr/*
|
||||||
|
user/.config/nvim/plugin/*
|
||||||
|
user/.config/nvim/plugin/lua/priv/*
|
||||||
|
BIN
personal/archives/nvim.zip
Normal file
BIN
personal/archives/nvim.zip
Normal file
Binary file not shown.
@ -9,4 +9,7 @@ zip --encrypt ../../../../personal/archives/zsh.zip ./*
|
|||||||
cd "${XDG_CONFIG_HOME:-$HOME/.config}/autorandr"
|
cd "${XDG_CONFIG_HOME:-$HOME/.config}/autorandr"
|
||||||
zip --encrypt "$dir/archives/autorandr.zip" ./**/**
|
zip --encrypt "$dir/archives/autorandr.zip" ./**/**
|
||||||
|
|
||||||
|
cd "${XDG_CONFIG_HOME:-$HOME/.config}/nvim/lua/priv"
|
||||||
|
zip --encrypt "$dir/archives/nvim.zip" ./*
|
||||||
|
|
||||||
cd "$dir"
|
cd "$dir"
|
||||||
|
@ -4,3 +4,6 @@
|
|||||||
unzip ./archives/zsh.zip -d ../user/.config/zsh/personal
|
unzip ./archives/zsh.zip -d ../user/.config/zsh/personal
|
||||||
|
|
||||||
unzip ./archives/autorandr.zip -d ../user/.config/autorandr
|
unzip ./archives/autorandr.zip -d ../user/.config/autorandr
|
||||||
|
|
||||||
|
unzip ./archives/nvim.zip -d ../user/.config/nvim/lua/priv
|
||||||
|
echo 'require("priv.init")' >> ../user/.config/nvim/init.lua
|
||||||
|
1
user/.config/nvim/init.lua
Normal file
1
user/.config/nvim/init.lua
Normal file
@ -0,0 +1 @@
|
|||||||
|
require("user.init")
|
10
user/.config/nvim/lua/priv/autocmd.lua
Normal file
10
user/.config/nvim/lua/priv/autocmd.lua
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
vim.api.nvim_create_autocmd("BufWritePost", {
|
||||||
|
pattern = "email-list.md",
|
||||||
|
callback = function ()
|
||||||
|
local infile = vim.fn.expand('%:p')
|
||||||
|
local outfile = os.getenv("HOME") .. '/docs/notes/harc/emails/raw-list.md'
|
||||||
|
local command = string.format("grep -o '[^ ^ ]*@[^ ^ ]*' %s > %s", infile, outfile)
|
||||||
|
|
||||||
|
os.execute(command)
|
||||||
|
end,
|
||||||
|
})
|
1
user/.config/nvim/lua/priv/init.lua
Normal file
1
user/.config/nvim/lua/priv/init.lua
Normal file
@ -0,0 +1 @@
|
|||||||
|
require("priv.autocmd")
|
7
user/.config/nvim/lua/user/autocmd.lua
Normal file
7
user/.config/nvim/lua/user/autocmd.lua
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
vim.api.nvim_create_autocmd("BufWritePost", {
|
||||||
|
pattern = "logind.conf",
|
||||||
|
callback = function ()
|
||||||
|
local command = string.format('sudo -A cp -f %s %s', vim.fn.expand('%:p'), "/etc/systemd/logind.conf")
|
||||||
|
os.execute(command)
|
||||||
|
end,
|
||||||
|
})
|
40
user/.config/nvim/lua/user/filetypes/md/keys.lua
Normal file
40
user/.config/nvim/lua/user/filetypes/md/keys.lua
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
local opts = { noremap = true, silent = true }
|
||||||
|
local term_opts = { silent = true }
|
||||||
|
|
||||||
|
-- Function to check if the buffer is saved
|
||||||
|
local function is_buffer_saved()
|
||||||
|
return vim.api.nvim_buf_get_option(0, 'modified') == false
|
||||||
|
end
|
||||||
|
|
||||||
|
-- Function to prompt user to save buffer
|
||||||
|
local function save_buffer_prompt()
|
||||||
|
if not is_buffer_saved() then
|
||||||
|
local save_choice = vim.fn.confirm('Buffer is not saved. Save it?', '&Yes\n&No', 1)
|
||||||
|
if save_choice == 1 then
|
||||||
|
vim.cmd('w')
|
||||||
|
else
|
||||||
|
return
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
-- Keybinding function
|
||||||
|
function run_md_export()
|
||||||
|
save_buffer_prompt()
|
||||||
|
|
||||||
|
-- vim.api.nvim_exec2("TermExec direction=float cmd=\"md-export " .. vim.fn.expand('%:p') .. "\"" , true)
|
||||||
|
end
|
||||||
|
|
||||||
|
-- MD keybinds
|
||||||
|
vim.api.nvim_create_autocmd("FileType", {
|
||||||
|
pattern = { "vimwiki", "markdown"},
|
||||||
|
callback = function ()
|
||||||
|
vim.api.nvim_buf_set_keymap(0, "n", "<leader>mp", ":MarkdownPreview<cr>", opts) -- Preview
|
||||||
|
vim.api.nvim_buf_set_keymap(0, "n", "<leader>mgl", ":VimwikiGenerateLinks<cr>", opts) -- Generate VimWiki Links
|
||||||
|
vim.api.nvim_buf_set_keymap(0, "n", "<leader>toc", ":VimwikiTOC<cr>", opts) -- Generate TOC
|
||||||
|
vim.api.nvim_buf_set_keymap(0, "n", "<leader>mtc", ":VimwikiTOC<cr>", opts) -- Generate TOC
|
||||||
|
vim.api.nvim_buf_set_keymap(0, "n", "<leader>mdc", ":TermExec direction=float cmd=\"md2src " .. vim.fn.expand('%:p') .. "\"<cr>", opts ) -- Compile Markdown File to code using md2src
|
||||||
|
-- vim.api.nvim_buf_set_keymap(0, "n", '<Leader>mde', ':lua run_md_export()<CR>', opts )
|
||||||
|
end
|
||||||
|
})
|
||||||
|
|
5
user/.config/nvim/lua/user/init.lua
Normal file
5
user/.config/nvim/lua/user/init.lua
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
require("user.plugins.packer")
|
||||||
|
require("user.options")
|
||||||
|
require("user.keys")
|
||||||
|
require("user.autocmd")
|
||||||
|
require("user.filetypes.md.keys")
|
84
user/.config/nvim/lua/user/keys.lua
Normal file
84
user/.config/nvim/lua/user/keys.lua
Normal file
@ -0,0 +1,84 @@
|
|||||||
|
local opts = { noremap = true, silent = true }
|
||||||
|
|
||||||
|
local term_opts = { silent = true }
|
||||||
|
|
||||||
|
--Remap space as leader key
|
||||||
|
vim.api.nvim_set_keymap("", "<Space>", "<Nop>", opts)
|
||||||
|
vim.g.mapleader = " "
|
||||||
|
vim.g.maplocalleader = " "
|
||||||
|
|
||||||
|
-- Modes
|
||||||
|
-- normal_mode = "n",
|
||||||
|
-- insert_mode = "i",
|
||||||
|
-- visual_mode = "v",
|
||||||
|
-- visual_block_mode = "x",
|
||||||
|
-- term_mode = "t",
|
||||||
|
-- command_mode = "c",
|
||||||
|
|
||||||
|
-- Normal --
|
||||||
|
vim.api.nvim_set_keymap("n", "<leader>ws", ":w|source<cr>", opts)
|
||||||
|
-- Better window navigation
|
||||||
|
vim.api.nvim_set_keymap("n", "<C-h>", "<C-w>h", opts)
|
||||||
|
vim.api.nvim_set_keymap("n", "<C-j>", "<C-w>j", opts)
|
||||||
|
vim.api.nvim_set_keymap("n", "<C-k>", "<C-w>k", opts)
|
||||||
|
vim.api.nvim_set_keymap("n", "<C-l>", "<C-w>l", opts)
|
||||||
|
|
||||||
|
-- NvimTree Focus
|
||||||
|
vim.api.nvim_set_keymap("n", "<leader>ft", ":NvimTreeFocus<cr>", opts)
|
||||||
|
|
||||||
|
-- Telescope
|
||||||
|
vim.api.nvim_set_keymap("n", "<leader>fr", ":Telescope oldfiles<cr>", opts)
|
||||||
|
vim.api.nvim_set_keymap("n", "<leader>ff", ":Telescope find_files<cr>", opts)
|
||||||
|
vim.api.nvim_set_keymap('n', '<leader>fn', [[:lua require('telescope.builtin').find_files({ cwd = '~/docs/notes' })<CR>]], opts)
|
||||||
|
vim.api.nvim_set_keymap("n", "<leader>sh", ":Telescope help_tags<cr>", opts)
|
||||||
|
vim.api.nvim_set_keymap("n", "<leader>sf", ":Telescope filetypes<cr>", opts)
|
||||||
|
|
||||||
|
-- Better buffer navigation
|
||||||
|
|
||||||
|
local function is_nvimtree_open()
|
||||||
|
for _, winid in ipairs(vim.api.nvim_list_wins()) do
|
||||||
|
local bufnr = vim.fn.winbufnr(winid)
|
||||||
|
local filetype = vim.bo[bufnr].filetype
|
||||||
|
|
||||||
|
if filetype == 'NvimTree' then
|
||||||
|
return true
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
|
||||||
|
function close_or_exit()
|
||||||
|
local ls_output = vim.fn.execute(":ls")
|
||||||
|
local open_buffers_count = vim.fn.len(vim.fn.split(ls_output, '\n'))
|
||||||
|
|
||||||
|
if vim.bo.filetype == "NvimTree" then
|
||||||
|
require("nvim-tree.api").tree.close()
|
||||||
|
|
||||||
|
elseif vim.fn.winnr('$') == 2 and is_nvimtree_open() then
|
||||||
|
if open_buffers_count > 1 then
|
||||||
|
vim.cmd('bnext | bdelete! #')
|
||||||
|
else
|
||||||
|
vim.cmd('qall!')
|
||||||
|
end
|
||||||
|
|
||||||
|
elseif vim.fn.winnr('$') > 1 then
|
||||||
|
vim.cmd(':q!')
|
||||||
|
elseif open_buffers_count > 1 then
|
||||||
|
vim.cmd('bdelete!')
|
||||||
|
else
|
||||||
|
vim.cmd('qall!')
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
vim.api.nvim_set_keymap("n", "ZZ", ":w|lua close_or_exit()<CR>", opts)
|
||||||
|
vim.api.nvim_set_keymap("n", "ZQ", ":lua close_or_exit()<CR>", opts)
|
||||||
|
vim.api.nvim_set_keymap("n", "<leader>bj", ":BufferLineCycleNext<cr>", opts)
|
||||||
|
vim.api.nvim_set_keymap("n", "<leader>bk", ":BufferLineCyclePrev<cr>", opts)
|
||||||
|
vim.api.nvim_set_keymap("n", "<leader>bf", ":Telescope buffers<cr>", opts)
|
||||||
|
vim.api.nvim_set_keymap("n", "<leader>bp", ":BufferLinePick<cr>", opts)
|
||||||
|
|
||||||
|
for dig = 1, 9 do
|
||||||
|
vim.api.nvim_set_keymap("n", "<leader>" .. dig , ":BufferLineGoToBuffer " .. dig .. "<cr>", opts)
|
||||||
|
end
|
||||||
|
vim.api.nvim_set_keymap("n", "<leader>0", ":BufferLineGoToBuffer 10<cr>", opts)
|
26
user/.config/nvim/lua/user/options.lua
Normal file
26
user/.config/nvim/lua/user/options.lua
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
vim.opt.clipboard = 'unnamedplus' -- Use system clipboard
|
||||||
|
vim.opt.number = true -- Have curent line show line number
|
||||||
|
vim.opt.relativenumber = true -- Show relative line numbers
|
||||||
|
vim.opt.hlsearch = false -- Disable highlight on searched strings
|
||||||
|
vim.opt.ignorecase = true -- Ignore case in searches
|
||||||
|
vim.opt.mouse = '' -- Set mouse behaviour (disabled)
|
||||||
|
vim.opt.scrolloff = 8 -- Prevent cursor from top and bottom edges - better readability
|
||||||
|
vim.opt.sidescrolloff = 8 -- Prevent cursor from side edges - better readability
|
||||||
|
vim.opt.cursorline = true -- Highlught line which cursor is on
|
||||||
|
vim.opt.splitbelow = true -- force all horizontal splits to go below current window
|
||||||
|
vim.opt.splitright = true -- force all vertical splits to go to the right of current window
|
||||||
|
vim.opt.expandtab = false -- convert tabs to spaces
|
||||||
|
vim.opt.shiftwidth = 2 -- the number of spaces inserted for each indentation
|
||||||
|
vim.opt.tabstop = 2 -- insert 2 spaces for a tab
|
||||||
|
vim.opt.swapfile = false -- keep track of open buffers, ocassionally casuses issues
|
||||||
|
vim.opt.undofile = true -- save undo hist on nvim exit
|
||||||
|
|
||||||
|
-- Disable New Line Comment
|
||||||
|
vim.api.nvim_create_autocmd("BufEnter", {
|
||||||
|
callback = function()
|
||||||
|
vim.opt.formatoptions:remove { "c", "r", "o" }
|
||||||
|
end
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
|
vim.opt.termguicolors = true
|
35
user/.config/nvim/lua/user/plugins/buf-line.lua
Normal file
35
user/.config/nvim/lua/user/plugins/buf-line.lua
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
require('bufferline').setup {
|
||||||
|
options = {
|
||||||
|
mode = "buffers",
|
||||||
|
themeable = true,
|
||||||
|
right_mouse_command = nil,
|
||||||
|
left_mouse_command = nil,
|
||||||
|
middle_mouse_command = nil,
|
||||||
|
indicator = {
|
||||||
|
-- icon = 'lala',
|
||||||
|
style = 'icon',
|
||||||
|
},
|
||||||
|
show_buffer_icons = true,
|
||||||
|
show_buffer_close_icons = false,
|
||||||
|
-- show_close_icon = false,
|
||||||
|
-- show_tab_indicators = true | false,
|
||||||
|
-- show_duplicate_prefix = true | false, -- whether to show duplicate buffer prefix
|
||||||
|
offsets = {
|
||||||
|
{
|
||||||
|
filetype = "NvimTree",
|
||||||
|
-- text = function() return vim.fn.getcwd() end,
|
||||||
|
text = "File Explorer",
|
||||||
|
text_align = "center",
|
||||||
|
highlight = "Directory",
|
||||||
|
separator = true,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
separator_style = 'slant' -- "slant" | "slope" | "thick" | "thin" | { 'any', 'any' },
|
||||||
|
},
|
||||||
|
highlights = {
|
||||||
|
tab = {
|
||||||
|
-- fg = '<colour-value-here>',
|
||||||
|
-- bg = 'lualine_c_normal',
|
||||||
|
},
|
||||||
|
}
|
||||||
|
}
|
1
user/.config/nvim/lua/user/plugins/calendar.lua
Normal file
1
user/.config/nvim/lua/user/plugins/calendar.lua
Normal file
@ -0,0 +1 @@
|
|||||||
|
vim.g.calendar_no_mappings = 1 -- Disable default (bad) mappings
|
122
user/.config/nvim/lua/user/plugins/dash.lua
Normal file
122
user/.config/nvim/lua/user/plugins/dash.lua
Normal file
@ -0,0 +1,122 @@
|
|||||||
|
function custom_footer(command, max_chars, max_lines)
|
||||||
|
local handle, result = io.popen(command), {}
|
||||||
|
for _ = 1, 3 do table.insert(result, "") end
|
||||||
|
for line in handle:lines() do
|
||||||
|
line = string.gsub(line, "\t", "")
|
||||||
|
while #line > max_chars do
|
||||||
|
local chunk, i = string.sub(line, 1, max_chars), max_chars
|
||||||
|
while i > 0 and string.sub(chunk, i, i) ~= " " do i = i - 1 end
|
||||||
|
if i > 0 then chunk = string.sub(chunk, 1, i) end
|
||||||
|
chunk = string.gsub(chunk, "^%s*(.-)%s*$", "%1")
|
||||||
|
table.insert(result, chunk)
|
||||||
|
line = string.sub(line, i + 1)
|
||||||
|
end
|
||||||
|
table.insert(result, line)
|
||||||
|
if #result > max_lines then handle:close(); return custom_footer(command, max_chars, max_lines) end
|
||||||
|
end
|
||||||
|
handle:close()
|
||||||
|
return result
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
require('dashboard').setup {
|
||||||
|
theme = 'doom',
|
||||||
|
-- disable_move, -- default is false disable move keymap for hyper
|
||||||
|
-- shortcut_type, -- shorcut type 'letter' or 'number'
|
||||||
|
-- change_to_vcs_root, -- default is false,for open file in hyper mru. it will change to the root of vcs
|
||||||
|
config = {
|
||||||
|
header = {
|
||||||
|
'',
|
||||||
|
'',
|
||||||
|
'',
|
||||||
|
'',
|
||||||
|
'',
|
||||||
|
' ███╗ ██╗ ███████╗ ██████╗ ██╗ ██╗ ██╗ ███╗ ███╗',
|
||||||
|
' ████╗ ██║ ██╔════╝██╔═══██╗ ██║ ██║ ██║ ████╗ ████║',
|
||||||
|
' ██╔██╗ ██║ █████╗ ██║ ██║ ██║ ██║ ██║ ██╔████╔██║',
|
||||||
|
' ██║╚██╗██║ ██╔══╝ ██║ ██║ ╚██╗ ██╔╝ ██║ ██║╚██╔╝██║',
|
||||||
|
' ██║ ╚████║ ███████╗╚██████╔╝ ╚████╔╝ ██║ ██║ ╚═╝ ██║',
|
||||||
|
' ╚═╝ ╚═══╝ ╚══════╝ ╚═════╝ ╚═══╝ ╚═╝ ╚═╝ ╚═╝',
|
||||||
|
'',
|
||||||
|
'',
|
||||||
|
'',
|
||||||
|
},
|
||||||
|
center = {
|
||||||
|
{
|
||||||
|
icon = ' ',
|
||||||
|
desc = 'Recent Files ',
|
||||||
|
key = 'r',
|
||||||
|
keymap = 'SPC f r',
|
||||||
|
action = ':Telescope oldfiles'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
icon = ' ',
|
||||||
|
desc = 'New File ',
|
||||||
|
key = 'n',
|
||||||
|
keymap = 'NONE',
|
||||||
|
action = ':enew'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
icon = ' ',
|
||||||
|
desc = 'Find Files ',
|
||||||
|
key = 'f',
|
||||||
|
keymap = 'SPC f f',
|
||||||
|
action = ':Telescope find_files'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
icon = ' ',
|
||||||
|
desc = 'File Tree ',
|
||||||
|
key = 't',
|
||||||
|
keymap = 'SPC f t',
|
||||||
|
action = ':NvimTreeFocus'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
icon = ' ',
|
||||||
|
desc = 'Open Vimwiki ',
|
||||||
|
key = 'w',
|
||||||
|
keymap = 'SPC w w',
|
||||||
|
action = ':VimwikiIndex'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
icon = ' ',
|
||||||
|
desc = 'Open Daily Note ',
|
||||||
|
key = 'd',
|
||||||
|
keymap = 'SPC w SPC w',
|
||||||
|
action = ':VimwikiMakeDiaryNote'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
icon = ' ',
|
||||||
|
desc = 'Open Calendar ',
|
||||||
|
key = 'c',
|
||||||
|
keymap = 'SPC c a l',
|
||||||
|
action = ':CalendarT'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
icon = ' ',
|
||||||
|
desc = 'Update Plugins',
|
||||||
|
key = 'u',
|
||||||
|
keymap = 'NONE',
|
||||||
|
action = ':PackerSync'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
icon = ' ',
|
||||||
|
desc = 'Help Pages',
|
||||||
|
key = 'h',
|
||||||
|
keymap = 'SPC s h',
|
||||||
|
action = ':Telescope help_tags'
|
||||||
|
},
|
||||||
|
},
|
||||||
|
footer = custom_footer("fortune", 50, 8)
|
||||||
|
},
|
||||||
|
-- hide = {
|
||||||
|
-- statusline, -- hide statusline default is true
|
||||||
|
-- tabline, -- hide the tabline
|
||||||
|
-- winbar, -- hide winbar
|
||||||
|
-- },
|
||||||
|
-- preview = {
|
||||||
|
-- command, -- preview command
|
||||||
|
-- file_path, -- preview file path
|
||||||
|
-- file_height, -- preview file height
|
||||||
|
-- file_width, -- preview file width
|
||||||
|
-- }
|
||||||
|
}
|
24
user/.config/nvim/lua/user/plugins/gruvbox.lua
Normal file
24
user/.config/nvim/lua/user/plugins/gruvbox.lua
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
require("gruvbox").setup({
|
||||||
|
undercurl = true,
|
||||||
|
underline = true,
|
||||||
|
bold = true,
|
||||||
|
italic = {
|
||||||
|
strings = false,
|
||||||
|
comments = false,
|
||||||
|
operators = false,
|
||||||
|
folds = true,
|
||||||
|
},
|
||||||
|
strikethrough = true,
|
||||||
|
invert_selection = false,
|
||||||
|
invert_signs = false,
|
||||||
|
invert_tabline = false,
|
||||||
|
invert_intend_guides = false,
|
||||||
|
inverse = true, -- invert background for search, diffs, statuslines and errors
|
||||||
|
contrast = "hard", -- can be "hard", "soft" or empty string
|
||||||
|
palette_overrides = {},
|
||||||
|
overrides = {},
|
||||||
|
dim_inactive = false,
|
||||||
|
transparent_mode = true,
|
||||||
|
})
|
||||||
|
|
||||||
|
vim.cmd "colorscheme gruvbox"
|
40
user/.config/nvim/lua/user/plugins/lualine.lua
Normal file
40
user/.config/nvim/lua/user/plugins/lualine.lua
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
require('lualine').setup {
|
||||||
|
options = {
|
||||||
|
icons_enabled = true,
|
||||||
|
theme = 'auto',
|
||||||
|
component_separators = { left = '', right = ''},
|
||||||
|
section_separators = { left = '', right = ''},
|
||||||
|
disabled_filetypes = {
|
||||||
|
statusline = {},
|
||||||
|
winbar = {},
|
||||||
|
},
|
||||||
|
ignore_focus = {},
|
||||||
|
always_divide_middle = true,
|
||||||
|
globalstatus = false,
|
||||||
|
refresh = {
|
||||||
|
statusline = 1000,
|
||||||
|
tabline = 1000,
|
||||||
|
winbar = 1000,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
sections = {
|
||||||
|
lualine_a = {'mode'},
|
||||||
|
lualine_b = {'branch', 'diff', 'diagnostics'},
|
||||||
|
lualine_c = {'filename'},
|
||||||
|
lualine_x = {'encoding', 'filetype'}, --fileformat
|
||||||
|
lualine_y = {'progress'},
|
||||||
|
lualine_z = {'location'}
|
||||||
|
},
|
||||||
|
inactive_sections = {
|
||||||
|
lualine_a = {},
|
||||||
|
lualine_b = {},
|
||||||
|
lualine_c = {'filename'},
|
||||||
|
lualine_x = {'location'},
|
||||||
|
lualine_y = {},
|
||||||
|
lualine_z = {}
|
||||||
|
},
|
||||||
|
tabline = {},
|
||||||
|
winbar = {},
|
||||||
|
inactive_winbar = {},
|
||||||
|
extensions = {}
|
||||||
|
}
|
10
user/.config/nvim/lua/user/plugins/markdown-preview.lua
Normal file
10
user/.config/nvim/lua/user/plugins/markdown-preview.lua
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
vim.g.mkdp_filetypes = { 'markdown' }
|
||||||
|
|
||||||
|
-- TODO lua rewrite
|
||||||
|
vim.cmd[[
|
||||||
|
function OpenFF (url)
|
||||||
|
execute "silent ! firefox -P nvim-mdp " . a:url . "&"
|
||||||
|
endfunction
|
||||||
|
]]
|
||||||
|
|
||||||
|
vim.g.mkdp_browserfunc = 'OpenFF'
|
240
user/.config/nvim/lua/user/plugins/nvim-tree.lua
Normal file
240
user/.config/nvim/lua/user/plugins/nvim-tree.lua
Normal file
@ -0,0 +1,240 @@
|
|||||||
|
-- Disable Default Nvim file browser - it suck ngl
|
||||||
|
vim.g.loaded_netrw = 1
|
||||||
|
vim.g.loaded_netrwPlugin = 1
|
||||||
|
|
||||||
|
-- Load Plugin
|
||||||
|
require("nvim-tree").setup {
|
||||||
|
auto_reload_on_write = true,
|
||||||
|
disable_netrw = true,
|
||||||
|
hijack_cursor = true,
|
||||||
|
hijack_netrw = true,
|
||||||
|
hijack_unnamed_buffer_when_opening = false,
|
||||||
|
sort = {
|
||||||
|
sorter = "name",
|
||||||
|
folders_first = true,
|
||||||
|
},
|
||||||
|
root_dirs = {},
|
||||||
|
prefer_startup_root = false,
|
||||||
|
sync_root_with_cwd = false,
|
||||||
|
reload_on_bufenter = false,
|
||||||
|
respect_buf_cwd = false,
|
||||||
|
on_attach = "default",
|
||||||
|
select_prompts = false,
|
||||||
|
view = {
|
||||||
|
centralize_selection = false,
|
||||||
|
cursorline = true,
|
||||||
|
debounce_delay = 15,
|
||||||
|
width = 30,
|
||||||
|
side = "left",
|
||||||
|
preserve_window_proportions = false,
|
||||||
|
number = false,
|
||||||
|
relativenumber = false,
|
||||||
|
signcolumn = "yes",
|
||||||
|
float = {
|
||||||
|
enable = false,
|
||||||
|
quit_on_focus_loss = true,
|
||||||
|
open_win_config = {
|
||||||
|
relative = "editor",
|
||||||
|
border = "rounded",
|
||||||
|
width = 35,
|
||||||
|
height = 30,
|
||||||
|
row = 1,
|
||||||
|
col = 1,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
renderer = {
|
||||||
|
add_trailing = false,
|
||||||
|
group_empty = false,
|
||||||
|
highlight_git = false,
|
||||||
|
full_name = false,
|
||||||
|
highlight_opened_files = "none",
|
||||||
|
highlight_modified = "none",
|
||||||
|
root_folder_label = ":~:s?$?/..?",
|
||||||
|
indent_width = 2,
|
||||||
|
indent_markers = {
|
||||||
|
enable = true,
|
||||||
|
inline_arrows = true,
|
||||||
|
icons = {
|
||||||
|
corner = "└",
|
||||||
|
edge = "│",
|
||||||
|
item = "│",
|
||||||
|
bottom = "─",
|
||||||
|
none = " ",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
icons = {
|
||||||
|
webdev_colors = true,
|
||||||
|
git_placement = "before",
|
||||||
|
modified_placement = "after",
|
||||||
|
padding = " ",
|
||||||
|
symlink_arrow = " ➛ ",
|
||||||
|
show = {
|
||||||
|
file = true,
|
||||||
|
folder = true,
|
||||||
|
folder_arrow = true,
|
||||||
|
git = true,
|
||||||
|
modified = true,
|
||||||
|
},
|
||||||
|
glyphs = {
|
||||||
|
default = "",
|
||||||
|
symlink = "",
|
||||||
|
bookmark = "",
|
||||||
|
modified = "●",
|
||||||
|
folder = {
|
||||||
|
arrow_closed = "",
|
||||||
|
arrow_open = "",
|
||||||
|
default = "",
|
||||||
|
open = "",
|
||||||
|
empty = "",
|
||||||
|
empty_open = "",
|
||||||
|
symlink = "",
|
||||||
|
symlink_open = "",
|
||||||
|
},
|
||||||
|
git = {
|
||||||
|
unstaged = "✗",
|
||||||
|
staged = "✓",
|
||||||
|
unmerged = "",
|
||||||
|
renamed = "➜",
|
||||||
|
untracked = "★",
|
||||||
|
deleted = "",
|
||||||
|
ignored = "◌",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
special_files = { "Cargo.toml", "Makefile", "README.md", "readme.md" },
|
||||||
|
symlink_destination = true,
|
||||||
|
},
|
||||||
|
hijack_directories = {
|
||||||
|
enable = true,
|
||||||
|
auto_open = false,
|
||||||
|
},
|
||||||
|
update_focused_file = {
|
||||||
|
enable = true,
|
||||||
|
update_root = false,
|
||||||
|
ignore_list = {},
|
||||||
|
},
|
||||||
|
system_open = {
|
||||||
|
cmd = "xdg-open",
|
||||||
|
args = {},
|
||||||
|
},
|
||||||
|
diagnostics = {
|
||||||
|
enable = false,
|
||||||
|
show_on_dirs = false,
|
||||||
|
show_on_open_dirs = true,
|
||||||
|
debounce_delay = 50,
|
||||||
|
severity = {
|
||||||
|
min = vim.diagnostic.severity.HINT,
|
||||||
|
max = vim.diagnostic.severity.ERROR,
|
||||||
|
},
|
||||||
|
icons = {
|
||||||
|
hint = "",
|
||||||
|
info = "",
|
||||||
|
warning = "",
|
||||||
|
error = "",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
filters = {
|
||||||
|
git_ignored = false,
|
||||||
|
dotfiles = false,
|
||||||
|
git_clean = false,
|
||||||
|
no_buffer = false,
|
||||||
|
custom = {},
|
||||||
|
exclude = {},
|
||||||
|
},
|
||||||
|
filesystem_watchers = {
|
||||||
|
enable = true,
|
||||||
|
debounce_delay = 50,
|
||||||
|
ignore_dirs = {},
|
||||||
|
},
|
||||||
|
git = {
|
||||||
|
enable = true,
|
||||||
|
show_on_dirs = true,
|
||||||
|
show_on_open_dirs = true,
|
||||||
|
disable_for_dirs = {},
|
||||||
|
timeout = 400,
|
||||||
|
},
|
||||||
|
modified = {
|
||||||
|
enable = false,
|
||||||
|
show_on_dirs = true,
|
||||||
|
show_on_open_dirs = true,
|
||||||
|
},
|
||||||
|
actions = {
|
||||||
|
use_system_clipboard = true,
|
||||||
|
change_dir = {
|
||||||
|
enable = true,
|
||||||
|
global = false,
|
||||||
|
restrict_above_cwd = false,
|
||||||
|
},
|
||||||
|
expand_all = {
|
||||||
|
max_folder_discovery = 300,
|
||||||
|
exclude = {},
|
||||||
|
iii},
|
||||||
|
file_popup = {
|
||||||
|
open_win_config = {
|
||||||
|
col = 1,
|
||||||
|
row = 1,
|
||||||
|
relative = "cursor",
|
||||||
|
border = "shadow",
|
||||||
|
style = "minimal",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
open_file = {
|
||||||
|
quit_on_open = false,
|
||||||
|
eject = true,
|
||||||
|
resize_window = true,
|
||||||
|
window_picker = {
|
||||||
|
enable = true,
|
||||||
|
picker = "default",
|
||||||
|
chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890",
|
||||||
|
exclude = {
|
||||||
|
filetype = { "notify", "packer", "qf", "diff", "fugitive", "fugitiveblame" },
|
||||||
|
buftype = { "nofile", "terminal", "help" },
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
remove_file = {
|
||||||
|
close_window = true,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
trash = {
|
||||||
|
cmd = "gio trash",
|
||||||
|
},
|
||||||
|
live_filter = {
|
||||||
|
prefix = "[FILTER]: ",
|
||||||
|
always_show_folders = true,
|
||||||
|
},
|
||||||
|
tab = {
|
||||||
|
sync = {
|
||||||
|
open = true,
|
||||||
|
close = true,
|
||||||
|
ignore = {},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
notify = {
|
||||||
|
threshold = vim.log.levels.INFO,
|
||||||
|
absolute_path = true,
|
||||||
|
},
|
||||||
|
ui = {
|
||||||
|
confirm = {
|
||||||
|
remove = true,
|
||||||
|
trash = true,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
experimental = {},
|
||||||
|
log = {
|
||||||
|
enable = false,
|
||||||
|
truncate = false,
|
||||||
|
types = {
|
||||||
|
all = false,
|
||||||
|
config = false,
|
||||||
|
copy_paste = false,
|
||||||
|
dev = false,
|
||||||
|
diagnostics = false,
|
||||||
|
git = false,
|
||||||
|
profile = false,
|
||||||
|
watcher = false,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
138
user/.config/nvim/lua/user/plugins/packer.lua
Normal file
138
user/.config/nvim/lua/user/plugins/packer.lua
Normal file
@ -0,0 +1,138 @@
|
|||||||
|
-- Auto install packer
|
||||||
|
local ensure_packer = function()
|
||||||
|
local fn = vim.fn
|
||||||
|
local install_path = fn.stdpath('data')..'/site/pack/packer/start/packer.nvim'
|
||||||
|
if fn.empty(fn.glob(install_path)) > 0 then
|
||||||
|
fn.system({'git', 'clone', '--depth', '1', 'https://github.com/wbthomason/packer.nvim', install_path})
|
||||||
|
vim.cmd [[packadd packer.nvim]]
|
||||||
|
return true
|
||||||
|
end
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
|
||||||
|
local packer_bootstrap = ensure_packer()
|
||||||
|
|
||||||
|
-- Autocommand that reloads neovim whenever you save the plugins.lua file
|
||||||
|
vim.api.nvim_create_autocmd("BufWritePost", {
|
||||||
|
pattern = "packer.lua",
|
||||||
|
command = "source <afile> | PackerSync",
|
||||||
|
group = vim.api.nvim_create_augroup("packer_user_config", {clear = true})
|
||||||
|
})
|
||||||
|
|
||||||
|
-- Use a protected call so we don't error out on first use
|
||||||
|
local status_ok, packer = pcall(require, 'packer')
|
||||||
|
if not status_ok then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
-- Have packer use a popup window
|
||||||
|
packer.init({
|
||||||
|
git = { clone_timeout = -1 },
|
||||||
|
display = {
|
||||||
|
open_fn = function()
|
||||||
|
return require('packer.util').float({ border = 'single' })
|
||||||
|
end
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
return require('packer').startup(function(use)
|
||||||
|
|
||||||
|
use 'https://github.com/wbthomason/packer.nvim'
|
||||||
|
|
||||||
|
use { 'https://github.com/ellisonleao/gruvbox.nvim',
|
||||||
|
config = function() require('user.plugins.gruvbox') end
|
||||||
|
}
|
||||||
|
|
||||||
|
use { 'https://github.com/nvim-treesitter/nvim-treesitter',
|
||||||
|
config = function() end
|
||||||
|
}
|
||||||
|
|
||||||
|
use { 'https://github.com/kylechui/nvim-surround',
|
||||||
|
tag = '*',
|
||||||
|
config = function () require("nvim-surround").setup() end
|
||||||
|
}
|
||||||
|
|
||||||
|
use { 'https://github.com/norcalli/nvim-colorizer.lua',
|
||||||
|
config = function()
|
||||||
|
require 'colorizer'.setup{
|
||||||
|
'*';
|
||||||
|
'!dashboard';
|
||||||
|
'!gcode';
|
||||||
|
'!ngc';
|
||||||
|
}
|
||||||
|
end
|
||||||
|
}
|
||||||
|
|
||||||
|
use { 'https://github.com/terrortylor/nvim-comment',
|
||||||
|
config = function() require('nvim_comment').setup() end
|
||||||
|
}
|
||||||
|
|
||||||
|
use 'https://github.com/junegunn/goyo.vim'
|
||||||
|
|
||||||
|
use { 'https://github.com/vimwiki/vimwiki',
|
||||||
|
config = function() require('user.plugins.vimwiki') end
|
||||||
|
}
|
||||||
|
|
||||||
|
use { 'https://github.com/nvim-tree/nvim-tree.lua',
|
||||||
|
config = function() require('user.plugins.nvim-tree') end,
|
||||||
|
requires = {'https://github.com/nvim-tree/nvim-web-devicons'}
|
||||||
|
}
|
||||||
|
|
||||||
|
use { 'https://github.com/iamcco/markdown-preview.nvim',
|
||||||
|
run = function() vim.fn['mkdp#util#install']() end,
|
||||||
|
setup = function() require('user.plugins.markdown-preview') end,
|
||||||
|
ft = { 'markdown' },
|
||||||
|
}
|
||||||
|
|
||||||
|
use {
|
||||||
|
'https://github.com/windwp/nvim-autopairs',
|
||||||
|
config = function() require("nvim-autopairs").setup {} end
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
use { 'https://github.com/nvimdev/dashboard-nvim',
|
||||||
|
config = function() require('user.plugins.dash') end,
|
||||||
|
requires = {'https://github.com/nvim-tree/nvim-web-devicons'}
|
||||||
|
}
|
||||||
|
|
||||||
|
use { 'nvim-telescope/telescope-fzf-native.nvim', run = 'cmake -S. -Bbuild -DCMAKE_BUILD_TYPE=Release && cmake --build build --config Release && cmake --install build --prefix build' }
|
||||||
|
use { 'https://github.com/nvim-telescope/telescope.nvim',
|
||||||
|
requires = { 'https://github.com/nvim-lua/plenary.nvim',
|
||||||
|
'https://github.com/BurntSushi/ripgrep',
|
||||||
|
},
|
||||||
|
config = function () require('user.plugins.telescope') end
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
use {
|
||||||
|
'https://github.com/akinsho/toggleterm.nvim',
|
||||||
|
tag = '*',
|
||||||
|
config = function () require("user.plugins.toggleterm") end
|
||||||
|
}
|
||||||
|
|
||||||
|
use { 'https://git.jakubb.xyz/jakub/vim-nc' }
|
||||||
|
|
||||||
|
use { 'https://github.com/nvim-lualine/lualine.nvim',
|
||||||
|
config = function() require("user.plugins.lualine") end,
|
||||||
|
requires = { 'nvim-tree/nvim-web-devicons' }
|
||||||
|
}
|
||||||
|
|
||||||
|
use { 'https://github.com/mattn/calendar-vim',
|
||||||
|
config = function() require("user.plugins.calendar") end,
|
||||||
|
}
|
||||||
|
|
||||||
|
use { 'https://github.com/akinsho/bufferline.nvim',
|
||||||
|
-- tag = "*",
|
||||||
|
config = function()
|
||||||
|
require("user.plugins.buf-line")
|
||||||
|
vim.cmd "colorscheme gruvbox"
|
||||||
|
end,
|
||||||
|
requires = 'nvim-tree/nvim-web-devicons'
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if packer_bootstrap then
|
||||||
|
require('packer').sync()
|
||||||
|
end
|
||||||
|
end)
|
||||||
|
|
33
user/.config/nvim/lua/user/plugins/telescope.lua
Normal file
33
user/.config/nvim/lua/user/plugins/telescope.lua
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
require("telescope").setup {
|
||||||
|
pickers = {
|
||||||
|
find_files = {
|
||||||
|
mappings = {
|
||||||
|
n = { ["q"] = "close", }
|
||||||
|
},
|
||||||
|
hidden = true,
|
||||||
|
file_ignore_patterns = {
|
||||||
|
-- special dirs
|
||||||
|
".git/",
|
||||||
|
-- xdg dirs
|
||||||
|
".cache", ".local/share", ".local/state",
|
||||||
|
-- bin output
|
||||||
|
"%.o", "%.a", "%.out",
|
||||||
|
-- bin docs
|
||||||
|
"%.pdf", "%doc", "%docx", "%.odt",
|
||||||
|
-- vids
|
||||||
|
"%.mkv", "%.mp4", "%.webm", "%.mov", "%.srt",
|
||||||
|
"%.m4a",
|
||||||
|
-- pics
|
||||||
|
"%.jpg", "%.png", "%.webp", "%.gif",
|
||||||
|
-- audio
|
||||||
|
"%.mp3", "%.flac",
|
||||||
|
-- archives
|
||||||
|
"%.zip",
|
||||||
|
-- fonts
|
||||||
|
"%.ttf",
|
||||||
|
-- misc
|
||||||
|
"%.torrent", "%.part", "%.dll", "%.exe", "%.pdb",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
67
user/.config/nvim/lua/user/plugins/toggleterm.lua
Normal file
67
user/.config/nvim/lua/user/plugins/toggleterm.lua
Normal file
@ -0,0 +1,67 @@
|
|||||||
|
require("toggleterm").setup{
|
||||||
|
-- size can be a number or function which is passed the current terminal
|
||||||
|
size = function(term)
|
||||||
|
if term.direction == "horizontal" then
|
||||||
|
return 15
|
||||||
|
elseif term.direction == "vertical" then
|
||||||
|
return vim.o.columns * 0.4
|
||||||
|
end
|
||||||
|
end,
|
||||||
|
open_mapping = [[<c-t>]],
|
||||||
|
-- on_create = fun(t: Terminal), -- function to run when the terminal is first created
|
||||||
|
-- on_open = fun(t: Terminal), -- function to run when the terminal opens
|
||||||
|
-- on_close = fun(t: Terminal), -- function to run when the terminal closes
|
||||||
|
-- on_stdout = fun(t: Terminal, job: number, data: string[], name: string) -- callback for processing output on stdout
|
||||||
|
-- on_stderr = fun(t: Terminal, job: number, data: string[], name: string) -- callback for processing output on stderr
|
||||||
|
-- on_exit = fun(t: Terminal, job: number, exit_code: number, name: string) -- function to run when terminal process exits
|
||||||
|
shade_terminals = false,
|
||||||
|
hide_numbers = true, -- hide the number column in toggleterm buffers
|
||||||
|
autochdir = true, -- when neovim changes it current directory the terminal will change it's own when next it's opened
|
||||||
|
highlights = {
|
||||||
|
-- -- highlights which map to a highlight group name and a table of it's values
|
||||||
|
-- -- NOTE: this is only a subset of values, any group placed here will be set for the terminal window split
|
||||||
|
-- Normal = {
|
||||||
|
-- guibg = "",
|
||||||
|
-- },
|
||||||
|
-- NormalFloat = {
|
||||||
|
-- link = 'Normal'
|
||||||
|
-- },
|
||||||
|
FloatBorder = { link = "FloatBorder" },
|
||||||
|
},
|
||||||
|
-- start_in_insert = true,
|
||||||
|
-- insert_mappings = true, -- whether or not the open mapping applies in insert mode
|
||||||
|
-- terminal_mappings = true, -- whether or not the open mapping applies in the opened terminals
|
||||||
|
-- direction = 'float',
|
||||||
|
direction = 'horizontal',
|
||||||
|
-- auto_scroll = true, -- automatically scroll to the bottom on terminal output
|
||||||
|
-- This field is only relevant if direction is set to 'float'
|
||||||
|
float_opts = {
|
||||||
|
-- The border key is *almost* the same as 'nvim_open_win'
|
||||||
|
-- see :h nvim_open_win for details on borders however
|
||||||
|
-- the 'curved' border is a custom border type
|
||||||
|
-- not natively supported but implemented in this plugin.
|
||||||
|
border = 'single',
|
||||||
|
width = 160,
|
||||||
|
height = 40,
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
vim.api.nvim_create_autocmd( "TermOpen", {
|
||||||
|
callback = function()
|
||||||
|
local opts = {noremap = true}
|
||||||
|
vim.api.nvim_buf_set_keymap(0, 't', '<esc>', [[<C-t><C-n>]], opts)
|
||||||
|
vim.api.nvim_buf_set_keymap(0, 't', 'jk', [[<C-t><C-n>]], opts)
|
||||||
|
vim.api.nvim_buf_set_keymap(0, 't', '<C-h>', [[<C-\><C-n><C-W>h]], opts)
|
||||||
|
vim.api.nvim_buf_set_keymap(0, 't', '<C-j>', [[<C-\><C-n><C-W>j]], opts)
|
||||||
|
vim.api.nvim_buf_set_keymap(0, 't', '<C-k>', [[<C-\><C-n><C-W>k]], opts)
|
||||||
|
vim.api.nvim_buf_set_keymap(0, 't', '<C-l>', [[<C-\><C-n><C-W>l]], opts)
|
||||||
|
end,
|
||||||
|
pattern = "term://*",
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
|
vim.api.nvim_create_autocmd( "BufEnter", {
|
||||||
|
pattern = "term://*",
|
||||||
|
callback = function() vim.cmd("startinsert") end
|
||||||
|
})
|
47
user/.config/nvim/lua/user/plugins/vimwiki.lua
Normal file
47
user/.config/nvim/lua/user/plugins/vimwiki.lua
Normal file
@ -0,0 +1,47 @@
|
|||||||
|
vim.g.vimwiki_list = {{
|
||||||
|
path = '~/docs/notes/',
|
||||||
|
syntax = 'markdown',
|
||||||
|
ext = '.md'
|
||||||
|
}}
|
||||||
|
|
||||||
|
vim.g.vimwiki_links_header = "Pages"
|
||||||
|
vim.g.vimwiki_links_header_level = 2
|
||||||
|
vim.g.vimwiki_links_space_char = '-'
|
||||||
|
|
||||||
|
vim.api.nvim_create_autocmd( "BufEnter", {
|
||||||
|
pattern = vim.fn.expand("~") .. "/docs/notes/diary/diary.md",
|
||||||
|
command = "VimwikiDiaryGenerateLinks"
|
||||||
|
})
|
||||||
|
|
||||||
|
vim.api.nvim_create_autocmd( "BufEnter", {
|
||||||
|
pattern = vim.fn.expand("~") .. "/docs/notes/index.md",
|
||||||
|
command = "VimwikiGenerateLinks"
|
||||||
|
})
|
||||||
|
|
||||||
|
-- Automatically asign todays date as title to todays diary entry
|
||||||
|
vim.api.nvim_create_autocmd( "BufNewFile", {
|
||||||
|
pattern = vim.fn.expand("~") .. "/docs/notes/diary/*.md",
|
||||||
|
callback = function ()
|
||||||
|
buf_name = vim.api.nvim_buf_get_name(0)
|
||||||
|
todays_note= vim.fn.expand("~") .. "/docs/notes/diary/".. os.date("%Y-%m-%d") .. ".md"
|
||||||
|
|
||||||
|
if buf_name == todays_note then
|
||||||
|
local date = vim.fn.split("# " .. os.date("%-b. %-d, %Y"), "\n")
|
||||||
|
vim.api.nvim_buf_set_lines(0, 0, 1, false, date)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
})
|
||||||
|
|
||||||
|
-- Timestamp entries into todays diary entry
|
||||||
|
vim.api.nvim_create_autocmd( {"BufRead", "BufNewFile"}, {
|
||||||
|
pattern = vim.fn.expand("~") .. "/docs/notes/diary/*.md",
|
||||||
|
callback = function ()
|
||||||
|
buf_name = vim.api.nvim_buf_get_name(0)
|
||||||
|
todays_note= vim.fn.expand("~") .. "/docs/notes/diary/".. os.date("%Y-%m-%d") .. ".md"
|
||||||
|
if buf_name == todays_note then
|
||||||
|
vim.api.nvim_buf_set_lines(0, -1, -1, false, { "", "## " .. os.date("%-I:%M %p"), "" })
|
||||||
|
vim.cmd("normal! G$")
|
||||||
|
end
|
||||||
|
end
|
||||||
|
})
|
||||||
|
|
Loading…
Reference in New Issue
Block a user