summaryrefslogtreecommitdiff
path: root/config/essentials/nvim/lua/tlast
diff options
context:
space:
mode:
Diffstat (limited to 'config/essentials/nvim/lua/tlast')
-rw-r--r--config/essentials/nvim/lua/tlast/aucommands.vim21
-rwxr-xr-xconfig/essentials/nvim/lua/tlast/cmp/arduino.lua3
-rw-r--r--config/essentials/nvim/lua/tlast/cmp/clangd.lua2
-rw-r--r--config/essentials/nvim/lua/tlast/cmp/css.lua1
-rw-r--r--config/essentials/nvim/lua/tlast/cmp/emmet.lua1
-rw-r--r--config/essentials/nvim/lua/tlast/cmp/html.lua7
-rw-r--r--config/essentials/nvim/lua/tlast/cmp/init.lua10
-rw-r--r--config/essentials/nvim/lua/tlast/cmp/js.lua1
-rw-r--r--config/essentials/nvim/lua/tlast/cmp/lua.lua20
-rw-r--r--config/essentials/nvim/lua/tlast/cmp/python.lua1
-rw-r--r--config/essentials/nvim/lua/tlast/cmp/setup.lua47
-rw-r--r--config/essentials/nvim/lua/tlast/init.lua6
-rw-r--r--config/essentials/nvim/lua/tlast/packer.lua68
-rw-r--r--config/essentials/nvim/lua/tlast/remap.lua62
-rw-r--r--config/essentials/nvim/lua/tlast/set.lua36
-rw-r--r--config/essentials/nvim/lua/tlast/zk.lua75
16 files changed, 361 insertions, 0 deletions
diff --git a/config/essentials/nvim/lua/tlast/aucommands.vim b/config/essentials/nvim/lua/tlast/aucommands.vim
new file mode 100644
index 0000000..732985f
--- /dev/null
+++ b/config/essentials/nvim/lua/tlast/aucommands.vim
@@ -0,0 +1,21 @@
+" Absolute numbers if window isn't focused
+augroup numbertoggle
+ autocmd!
+ autocmd BufEnter,FocusGained,WinEnter * if &nu | set rnu | endif
+ autocmd BufLeave,FocusLost,WinLeave * if &nu | set nornu | endif
+augroup END
+
+" terminal specific layout
+augroup neovim_terminal autocmd!
+ autocmd TermOpen * startinsert
+ autocmd TermOpen * :GitGutterBufferDisable
+ autocmd TermOpen * :set nonumber norelativenumber signcolumn=no
+ autocmd TermOpen * nnoremap <buffer> <C-c> i<C-c>
+augroup END
+
+" Return to last edit position
+autocmd BufReadPost *
+ \ if line("'\"") > 1 && line("'\"") <= line("$") |
+ \ exe "normal! g`\"" |
+ \ endif
+
diff --git a/config/essentials/nvim/lua/tlast/cmp/arduino.lua b/config/essentials/nvim/lua/tlast/cmp/arduino.lua
new file mode 100755
index 0000000..777df8d
--- /dev/null
+++ b/config/essentials/nvim/lua/tlast/cmp/arduino.lua
@@ -0,0 +1,3 @@
+require'lspconfig'.arduino_language_server.setup{
+ cmd = {"arduino-language-server", "-cli-config", "~/.arduinoIDE/arduino-cli.yaml"}
+}
diff --git a/config/essentials/nvim/lua/tlast/cmp/clangd.lua b/config/essentials/nvim/lua/tlast/cmp/clangd.lua
new file mode 100644
index 0000000..810aa42
--- /dev/null
+++ b/config/essentials/nvim/lua/tlast/cmp/clangd.lua
@@ -0,0 +1,2 @@
+-- c cpp
+require'lspconfig'.clangd.setup{}
diff --git a/config/essentials/nvim/lua/tlast/cmp/css.lua b/config/essentials/nvim/lua/tlast/cmp/css.lua
new file mode 100644
index 0000000..07cb8bc
--- /dev/null
+++ b/config/essentials/nvim/lua/tlast/cmp/css.lua
@@ -0,0 +1 @@
+require'lspconfig'.cssls.setup{}
diff --git a/config/essentials/nvim/lua/tlast/cmp/emmet.lua b/config/essentials/nvim/lua/tlast/cmp/emmet.lua
new file mode 100644
index 0000000..3193727
--- /dev/null
+++ b/config/essentials/nvim/lua/tlast/cmp/emmet.lua
@@ -0,0 +1 @@
+require'lspconfig'.emmet_ls.setup{}
diff --git a/config/essentials/nvim/lua/tlast/cmp/html.lua b/config/essentials/nvim/lua/tlast/cmp/html.lua
new file mode 100644
index 0000000..69ed29d
--- /dev/null
+++ b/config/essentials/nvim/lua/tlast/cmp/html.lua
@@ -0,0 +1,7 @@
+-- html
+local capabilities = vim.lsp.protocol.make_client_capabilities()
+capabilities.textDocument.completion.completionItem.snippetSupport = true
+
+require'lspconfig'.html.setup {
+ capabilities = capabilities,
+}
diff --git a/config/essentials/nvim/lua/tlast/cmp/init.lua b/config/essentials/nvim/lua/tlast/cmp/init.lua
new file mode 100644
index 0000000..90e6024
--- /dev/null
+++ b/config/essentials/nvim/lua/tlast/cmp/init.lua
@@ -0,0 +1,10 @@
+require("tlast.cmp.setup")
+
+require("tlast.cmp.arduino")
+require("tlast.cmp.clangd")
+require("tlast.cmp.html")
+require("tlast.cmp.css")
+require("tlast.cmp.js")
+require("tlast.cmp.emmet")
+require("tlast.cmp.lua")
+require("tlast.cmp.python")
diff --git a/config/essentials/nvim/lua/tlast/cmp/js.lua b/config/essentials/nvim/lua/tlast/cmp/js.lua
new file mode 100644
index 0000000..7188a22
--- /dev/null
+++ b/config/essentials/nvim/lua/tlast/cmp/js.lua
@@ -0,0 +1 @@
+require'lspconfig'.tsserver.setup{}
diff --git a/config/essentials/nvim/lua/tlast/cmp/lua.lua b/config/essentials/nvim/lua/tlast/cmp/lua.lua
new file mode 100644
index 0000000..e594870
--- /dev/null
+++ b/config/essentials/nvim/lua/tlast/cmp/lua.lua
@@ -0,0 +1,20 @@
+-- lua
+require'lspconfig'.lua_ls.setup {
+ settings = {
+ Lua = {
+ runtime = {
+ version = 'LuaJIT',
+ },
+ diagnostics = {
+ globals = {'vim'},
+ },
+ workspace = {
+ library = vim.api.nvim_get_runtime_file("", true),
+ checkThirdParty = false, -- no prompt for luassert :)
+ },
+ telemetry = {
+ enable = false,
+ },
+ },
+ },
+}
diff --git a/config/essentials/nvim/lua/tlast/cmp/python.lua b/config/essentials/nvim/lua/tlast/cmp/python.lua
new file mode 100644
index 0000000..aec86bd
--- /dev/null
+++ b/config/essentials/nvim/lua/tlast/cmp/python.lua
@@ -0,0 +1 @@
+require'lspconfig'.jedi_language_server.setup{}
diff --git a/config/essentials/nvim/lua/tlast/cmp/setup.lua b/config/essentials/nvim/lua/tlast/cmp/setup.lua
new file mode 100644
index 0000000..67baf9e
--- /dev/null
+++ b/config/essentials/nvim/lua/tlast/cmp/setup.lua
@@ -0,0 +1,47 @@
+local cmp = require'cmp'
+cmp.setup({
+ snippet = {
+ expand = function(args)
+ require('luasnip').lsp_expand(args.body)
+ end,
+ },
+ window = {
+ -- completion = cmp.config.window.bordered(),
+ -- documentation = cmp.config.window.bordered(),
+ },
+ mapping = cmp.mapping.preset.insert({
+ ['<C-b>'] = cmp.mapping.scroll_docs(-4),
+ ['<C-f>'] = cmp.mapping.scroll_docs(4),
+ ['<C-Space>'] = cmp.mapping.complete(),
+ ['<C-c>'] = cmp.mapping.abort(),
+ ['<C-y>'] = cmp.mapping.confirm({ select = true }),
+ }),
+ sources = cmp.config.sources({
+ { name = 'nvim_lua' },
+ { name = 'nvim_lsp' },
+ { name = 'path' },
+ { name = 'luasnip' },
+ { name = 'buffer'},
+ }),
+})
+
+cmp.setup.filetype('gitcommit', {
+ sources = cmp.config.sources({
+ { name = 'cmp_git' },
+ { name = 'buffer' },
+ })
+})
+
+cmp.setup.cmdline({ '/', '?' }, {
+ mapping = cmp.mapping.preset.cmdline(),
+ sources = {
+ { name = 'buffer' }
+ },
+})
+cmp.setup.cmdline(':', {
+ mapping = cmp.mapping.preset.cmdline(),
+ sources = cmp.config.sources({
+ { name = 'path' },
+ { name = 'cmdline', keyword_length = 3 }
+ }),
+})
diff --git a/config/essentials/nvim/lua/tlast/init.lua b/config/essentials/nvim/lua/tlast/init.lua
new file mode 100644
index 0000000..9a9f387
--- /dev/null
+++ b/config/essentials/nvim/lua/tlast/init.lua
@@ -0,0 +1,6 @@
+require("tlast.packer")
+require("tlast.remap")
+require("tlast.set")
+require("tlast.cmp")
+require("tlast.zk")
+vim.cmd.source(vim.fn.stdpath("config") .. "/lua/tlast/aucommands.vim")
diff --git a/config/essentials/nvim/lua/tlast/packer.lua b/config/essentials/nvim/lua/tlast/packer.lua
new file mode 100644
index 0000000..8bc9e3b
--- /dev/null
+++ b/config/essentials/nvim/lua/tlast/packer.lua
@@ -0,0 +1,68 @@
+return require('packer').startup(function(use)
+ use('wbthomason/packer.nvim')
+
+ -- files
+ use {
+ 'nvim-telescope/telescope.nvim', tag = '0.1.0',
+ requires = { {'nvim-lua/plenary.nvim'} }
+ }
+ use('nvim-telescope/telescope-symbols.nvim')
+ use('theprimeagen/harpoon')
+
+ -- colors
+ use('shaunsingh/nord.nvim')
+ use('folke/tokyonight.nvim')
+ use {
+ 'glepnir/dashboard-nvim',
+ event = 'VimEnter',
+ config = {
+ theme = 'hyper',
+ },
+ requires = {'nvim-tree/nvim-web-devicons'}
+ }
+ use('norcalli/nvim-colorizer.lua')
+
+ use('airblade/vim-gitgutter')
+
+ use('nvim-treesitter/nvim-treesitter', {run = ':TSUpdate'})
+ use('nvim-treesitter/playground')
+
+ use('mbbill/undotree')
+
+ use('tpope/vim-capslock')
+ use('tpope/vim-commentary')
+ use('tpope/vim-endwise')
+ use('tpope/vim-fugitive')
+ use('tpope/vim-repeat')
+ use('tpope/vim-surround')
+ use('tpope/vim-vinegar')
+
+ -- utils
+ use('godlygeek/tabular')
+ use('renerocksai/calendar-vim')
+ use('LordTlasT/live-server')
+ use('ojroques/vim-oscyank', {branch = "main"})
+
+ -- objects
+ use('michaeljsmith/vim-indent-object')
+
+ -- completion
+ use('neovim/nvim-lspconfig')
+ use('hrsh7th/nvim-cmp')
+ use('hrsh7th/cmp-nvim-lua')
+ use('hrsh7th/cmp-nvim-lsp')
+ use('hrsh7th/cmp-buffer')
+ use('hrsh7th/cmp-path')
+ use('hrsh7th/cmp-cmdline')
+
+ -- snippets
+ use('L3MON4D3/LuaSnip')
+ use('saadparwaiz1/cmp_luasnip')
+
+ -- notes
+ use('renerocksai/telekasten.nvim')
+ use({
+ "iamcco/markdown-preview.nvim",
+ run = function() vim.fn["mkdp#util#install"]() end,
+ })
+end)
diff --git a/config/essentials/nvim/lua/tlast/remap.lua b/config/essentials/nvim/lua/tlast/remap.lua
new file mode 100644
index 0000000..d87c9d0
--- /dev/null
+++ b/config/essentials/nvim/lua/tlast/remap.lua
@@ -0,0 +1,62 @@
+vim.g.mapleader = " "
+
+vim.keymap.set("n", "-", vim.cmd.Ex)
+
+-- moving
+vim.keymap.set("i", "<C-a>", "<C-o>I")
+vim.keymap.set("i", "<C-e>", "<C-o>A")
+
+-- add closing
+vim.keymap.set("i", "\"", "\"\"<Left>")
+vim.keymap.set("i", "'", "''<Left>")
+vim.keymap.set("i", "(", "()<Left>")
+vim.keymap.set("i", "[", "[]<Left>")
+vim.keymap.set("i", "{", "{}<Left>")
+vim.keymap.set("i", "{<CR>", "{<CR>}<C-o>O")
+vim.keymap.set("i", "{;<CR>", "{<CR>};<C-o>O")
+
+-- buffers
+vim.keymap.set("n", "gb", "<cmd>buffers<CR>:buffer<Space>")
+vim.keymap.set("n", "<leader>q", "<cmd>q!<CR>")
+vim.keymap.set("n", "<leader>Q", "<cmd>qa!<CR>")
+
+-- Windows
+vim.keymap.set({"n", "i", "v", "c", "o", "s", "x"}, "<A-h>", "<C-W>h")
+vim.keymap.set({"n", "i", "v", "c", "o", "s", "x"}, "<A-j>", "<C-W>j")
+vim.keymap.set({"n", "i", "v", "c", "o", "s", "x"}, "<A-k>", "<C-W>k")
+vim.keymap.set({"n", "i", "v", "c", "o", "s", "x"}, "<A-l>", "<C-W>l")
+vim.keymap.set({"n", "i", "v", "c", "o", "s", "x"}, "<A-o>", "<C-W>o")
+
+-- move visual selection up/down wards
+vim.keymap.set("v", "J", "<cmd>m '>+1<CR>gv=gv")
+vim.keymap.set("v", "K", "<cmd>m '<-2<CR>gv=gv")
+
+-- Don't move!
+vim.keymap.set("n", "J", "mzJ`z")
+
+-- clipboard
+vim.keymap.set("n", "<leader>y", "\"+y")
+vim.keymap.set("n", "<leader>o", "<Plug>OSCYank")
+
+-- scripts
+vim.keymap.set("n", "<leader>x", "<cmd>!chmod +x %<CR>", { silent = true})
+
+-- replace
+vim.keymap.set("n", "<leader>s", [[:%s/\<<C-r><C-w>\>/<C-r><C-w><C-w>/gI<Left><Left><Left>]])
+
+-- templates
+vim.keymap.set("n", "<leader>rt", ":r " .. vim.fn.stdpath("config") .. "/templates/")
+
+-- hide all
+local s = {hidden_all = 0}
+vim.keymap.set("n", "<C-h>", function ()
+ s.hidden_all = 1 - s.hidden_all
+ local opt = s.hidden_all == 0
+ vim.opt.showmode = opt
+ vim.opt.ruler = opt
+ vim.opt.nu = opt
+ vim.opt.rnu = opt
+ vim.opt.showcmd = opt
+ vim.opt.laststatus = opt and 2 or 0
+ vim.opt.signcolumn = opt and "yes" or "no"
+end)
diff --git a/config/essentials/nvim/lua/tlast/set.lua b/config/essentials/nvim/lua/tlast/set.lua
new file mode 100644
index 0000000..ab582bb
--- /dev/null
+++ b/config/essentials/nvim/lua/tlast/set.lua
@@ -0,0 +1,36 @@
+vim.opt.clipboard = "unnamed"
+
+vim.opt.termguicolors = true
+
+vim.opt.number = true
+vim.opt.relativenumber = true
+vim.opt.showmatch = true
+vim.opt.matchtime = 0
+vim.opt.showcmd = true
+vim.opt.cursorline = true
+vim.opt.ruler = true
+
+vim.opt.wildmenu = true
+vim.opt.incsearch = true
+
+vim.opt.mouse = ""
+
+vim.opt.tabstop = 4
+vim.opt.shiftwidth = 4
+vim.opt.backspace = "indent,eol,start"
+
+vim.opt.signcolumn = "yes"
+vim.opt.updatetime = 100
+vim.opt.laststatus = 2
+vim.opt.history = 200
+vim.opt.encoding = "utf-8"
+
+vim.opt.smartindent = true
+vim.opt.scrolloff = 8
+vim.opt.textwidth = 74
+
+vim.opt.ignorecase = true
+vim.opt.smartcase = true
+
+vim.opt.swapfile = false
+vim.opt.backup = false
diff --git a/config/essentials/nvim/lua/tlast/zk.lua b/config/essentials/nvim/lua/tlast/zk.lua
new file mode 100644
index 0000000..104c51c
--- /dev/null
+++ b/config/essentials/nvim/lua/tlast/zk.lua
@@ -0,0 +1,75 @@
+local home = vim.fn.expand("~/docs/zk")
+require('telekasten').setup({
+ home = home,
+ take_over_my_home = true,
+ auto_set_filetype = true,
+ auto_set_syntax = true,
+ dailies = home .. '/' .. 'daily',
+ weeklies = home .. '/' .. 'weekly',
+ templates = home .. '/' .. 'templates',
+ image_subdir = "img",
+ extension = ".md",
+ new_note_filename = "title",
+ uuid_type = "%Y%m%d%H%M",
+ uuid_sep = "-",
+ filename_space_subst = nil,
+ follow_creates_nonexisting = true,
+ dailies_create_nonexisting = true,
+ weeklies_create_nonexisting = true,
+ journal_auto_open = false,
+ template_new_note = home .. '/' .. 'templates/new_note.md',
+ template_new_daily = home .. '/' .. 'templates/daily.md',
+ template_new_weekly= home .. '/' .. 'templates/weekly.md',
+ image_link_style = "markdown",
+ sort = "filename",
+ plug_into_calendar = true,
+ calendar_opts = {
+ weeknm = 4,
+ calendar_monday = 1,
+ calendar_mark = 'left-fit',
+ },
+ close_after_yanking = false,
+ insert_after_inserting = true,
+ tag_notation = "#tag",
+ command_palette_theme = "dropdown",
+ show_tags_theme = "ivy",
+ subdirs_in_links = true,
+ template_handling = "smart",
+ new_note_location = "smart",
+ rename_update_links = true,
+ vaults = {
+ cs = {
+ home = home .. '/' .. 'cs',
+ template_new_note = home .. '/' .. 'templates/new_note.md',
+ },
+ },
+ media_previewer = "telescope-media-files",
+ follow_url_fallback = nil,
+})
+
+vim.keymap.set("n", "<leader>z", require('telekasten').panel)
+vim.keymap.set("n", "<leader>zC", "<cmd>CalendarT")
+vim.keymap.set("n", "<leader>zF", require('telekasten').find_friends)
+vim.keymap.set("n", "<leader>zI", "<cmd>lua require('telekasten').insert_img_link({ i=true })<cr>")
+vim.keymap.set("n", "<leader>zN", require('telekasten').new_templated_note)
+vim.keymap.set("n", "<leader>zT", require('telekasten').goto_today)
+vim.keymap.set("n", "<leader>zW", require('telekasten').goto_thisweek)
+vim.keymap.set("n", "<leader>za", require('telekasten').show_tags)
+vim.keymap.set("n", "<leader>zb", require('telekasten').show_backlinks)
+vim.keymap.set("n", "<leader>zc", require('telekasten').show_calendar)
+vim.keymap.set("n", "<leader>zd", require('telekasten').find_daily_notes)
+vim.keymap.set("n", "<leader>zf", require('telekasten').find_notes)
+vim.keymap.set("n", "<leader>zg", require('telekasten').search_notes)
+vim.keymap.set("n", "<leader>zi", require('telekasten').paste_img_and_link)
+vim.keymap.set("n", "<leader>zm", require('telekasten').browse_media)
+vim.keymap.set("n", "<leader>zn", require('telekasten').new_note)
+vim.keymap.set("n", "<leader>zp", require('telekasten').preview_img)
+vim.keymap.set("n", "<leader>zr", require('telekasten').rename_note)
+vim.keymap.set("n", "<leader>zs", require('telekasten').switch_vault)
+vim.keymap.set("n", "<leader>zt", require('telekasten').toggle_todo)
+vim.keymap.set("n", "<leader>zt","<cmd>lua require('telekasten').toggle_todo({ i=true })<cr>")
+vim.keymap.set("n", "<leader>zw", require('telekasten').find_weekly_notes)
+vim.keymap.set("n", "<leader>zy", require('telekasten').yank_notelink)
+vim.keymap.set("n", "<leader>zz", require('telekasten').follow_link)
+vim.keymap.set("n", "<leader>#", require('telekasten').show_tags)
+vim.keymap.set("n", "<leader>[", "<cmd>lua require('telekasten').insert_link({ i=true })<cr>")