This commit is contained in:
Јован Ђокић-Шумарац 2025-07-23 22:52:11 +02:00
parent 1776bc8edc
commit ea1d352822
16 changed files with 328 additions and 315 deletions

View file

@ -3,8 +3,8 @@
(local espresso (require :catppuccin))
(local color_overrides
{ :macchiato
{ :rosewater :#F5B8AB
{ :macchiato
{ :rosewater :#F5B8AB
:flamingo :#F29D9D
:pink :#AD6FF7
:mauve :#FF8F40
@ -32,32 +32,36 @@
:crust :#191926 } })
(local integrations
{ :cmp true
:gitsigns true
:treesitter true
{ :cmp true
:gitsigns true
:treesitter true
:telescope
{ :enabled true
:style :nvchad }
:telescope
{ :enabled true
:style :nvchad }
:mini
{ :enabled true} })
:mini
{ :enabled true} })
(espresso.setup
{ :flavour :macchiato
:color_overrides color_overrides
:integrations integrations })
{ :flavour :macchiato
:color_overrides color_overrides
:integrations integrations })
(set! background :dark)
(exec! [colorscheme catppuccin])
(vim.api.nvim_set_hl 0 :Normal {:bg :none})
(vim.api.nvim_set_hl 0 :NormalFloat {:bg :none})
(vim.api.nvim_set_hl 0 :FloatBorder {:bg :none})
(vim.api.nvim_set_hl 0 :Pmenu {:bg :none})
; (local highlight_overrides
; { :all
; (fn [colors]
; { :all
; (fn [colors]
; :CurSearch { :bg colors.sky }
; :IncSearch { :bg colors.sky }
; :CursorLineNr { :fg colors.blue :style [:bold] }

View file

@ -3,6 +3,7 @@
(g! mapleader " ")
(map! [n :noremap] :<leader>gd "<cmd>lua vim.lsp.buf.hover()<CR>")
; trim those bastards
(map! [n :noremap] :<leader>tw "<cmd>lua MiniTrailspace.trim()<CR>")
@ -16,6 +17,7 @@
(map! [n :noremap] :<leader>fk "<cmd>Telescope keymaps<CR>")
(map! [n :noremap] :<leader>tt "<cmd>terminal<CR>")
(map! [t :noremap] :<Esc> "<C-\\><C-n>")
(map! [n :noremap] :<C-Space> "<cmd>bprev<CR>")
; remap keys so that they dont skip camelCase

View file

@ -1,31 +1,31 @@
(import-macros {: set! : g! : exec!} :hibiscus.vim)
(set! number true) ; enable line number
(set! relativenumber true) ; enable relative line number
(set! undofile true) ; persistent undo
(set! backup false) ; disable backup
(set! autowrite true) ; auto write buffer when it's not focused
(set! ignorecase true) ; case insensitive on search..
(set! list true) ; display listchars
(set! smartindent false) ; smarter indentation
(set! splitright true) ; split right instead of left
(set! splitkeep :screen) ; stabilize split
(set! startofline false) ; don't go to the start of the line when moving to another file
(set! swapfile false) ; disable swapfile
(set! termguicolors true) ; true colours for better experience
(set! wrap false) ; don't wrap lines
(set! backupcopy :yes) ; fix weirdness for stuff that replaces the entire file when hot reloading
(set! number true) ; enable line number
(set! relativenumber true) ; enable relative line number
(set! undofile true) ; persistent undo
(set! backup false) ; disable backup
(set! autowrite true) ; auto write buffer when it's not focused
(set! ignorecase true) ; case insensitive on search..
(set! list true) ; display listchars
(set! smartindent false) ; smarter indentation
(set! splitright true) ; split right instead of left
(set! splitkeep :screen) ; stabilize split
(set! startofline false) ; don't go to the start of the line when moving to another file
(set! swapfile false) ; disable swapfile
(set! termguicolors true) ; true colours for better experience
(set! wrap false) ; don't wrap lines
(set! backupcopy :yes) ; fix weirdness for stuff that replaces the entire file when hot reloading
(set! smarttab false)
(set! tabstop 4)
(set! softtabstop 4)
(set! shiftwidth 4)
(set! expandtab false)
(set! expandtab true)
(set! compatible false) ; disable compatibility with old vi
(set! showmatch true) ; show matches while searching for text
(set! hlsearch true) ; highlight text that has been searched
(set! incsearch true) ; incramentally search
(set! showmatch true) ; show matches while searching for text
(set! hlsearch true) ; highlight text that has been searched
(set! incsearch true) ; incramentally search
(set! autoindent true)
(set! wildmode "longest,list")
(set! inccommand :split)
@ -34,7 +34,7 @@
(set! mouse :v)
(set! mouse :a)
; (set! clipboard :unnamedplus) ; use system clipboard
(set! clipboard :unnamedplus) ; use system clipboard
(set! ttyfast true)
(set! cursorline true)
(set! splitbelow true)
@ -49,33 +49,33 @@
; Skip loading of following neovim builtins
(local default_plugins {
:2html_plugin
:getscript
:getscriptPlugin
:gzip
:logipat
:netrw
:netrwPlugin
:netrwSettings
:netrwFileHandlers
:matchit
:tar
:tarPlugin
:rrhelper
:spellfile_plugin
:vimball
:vimballPlugin
:zip
:zipPlugin
:tutor
:rplugin
:syntax
:synmenu
:optwin
:compiler
:bugreport
:ftplugin })
:2html_plugin
:getscript
:getscriptPlugin
:gzip
:logipat
:netrw
:netrwPlugin
:netrwSettings
:netrwFileHandlers
:matchit
:tar
:tarPlugin
:rrhelper
:spellfile_plugin
:vimball
:vimballPlugin
:zip
:zipPlugin
:tutor
:rplugin
:syntax
:synmenu
:optwin
:compiler
:bugreport
:ftplugin })
(each [_ plug (ipairs default_plugins)]
(g! (.. :loaded plug) 1))
(g! (.. :loaded plug) 1))

View file

@ -1,25 +1,25 @@
(local plug (require :nvim-web-devicons))
(plug.setup [
:strict true
:default true
:color_icons true
:strict true
:default true
:color_icons true
:override
[ :zsh
[ :icon ""
:color "#428850"
:cterm_color "65"
:name "zsh" ]]
:override
[ :zsh
[ :icon ""
:color "#428850"
:cterm_color "65"
:name "zsh" ]]
:override_by_filename
[ :.gitignore
[ :icon ""
:color "#f1502f"
:name "gitignore" ]]
:override_by_filename
[ :.gitignore
[ :icon ""
:color "#f1502f"
:name "gitignore" ]]
:override_by_extension
[ :log
[ :icon ""
:color "#81e043"
:name "Log" ]] ])
:override_by_extension
[ :log
[ :icon ""
:color "#81e043"
:name "Log" ]] ])

View file

@ -1,40 +1,40 @@
(local gitsigns (require :gitsigns))
(gitsigns.setup {
:signs
{ :add {:text :▍}
:change {:text :▍}
:delete {:text :▍}
:topdelete {:text :▍}
:changedelete {:text :▍}
:untracked {:text :▍} }
:signs
{ :add {:text :▍}
:change {:text :▍}
:delete {:text :▍}
:topdelete {:text :▍}
:changedelete {:text :▍}
:untracked {:text :▍} }
:signcolumn true
:numhl false
:linehl false
:word_diff false
:signcolumn true
:numhl false
:linehl false
:word_diff false
:watch_gitdir { :follow_files true }
:watch_gitdir { :follow_files true }
:attach_to_untracked true
:current_line_blame false
:attach_to_untracked true
:current_line_blame false
:current_line_blame_opts
{ :virt_text true
:virt_text_pos :eol
:delay 1000
:ignore_whitespace false }
:current_line_blame_opts
{ :virt_text true
:virt_text_pos :eol
:delay 1000
:ignore_whitespace false }
:current_line_blame_formatter "<author>, <author_time:%Y-%m-%d> - <summary>"
:sign_priority 6
:update_debounce 100
:status_formatter nil
:max_file_length 40000
:current_line_blame_formatter "<author>, <author_time:%Y-%m-%d> - <summary>"
:sign_priority 6
:update_debounce 100
:status_formatter nil
:max_file_length 40000
:preview_config
{ :border :single
:style :minimal
:relative :cursor
:row 0
:col 1 } })
:preview_config
{ :border :single
:style :minimal
:relative :cursor
:row 0
:col 1 } })

View file

@ -1,27 +1,27 @@
(local hlchunk (require :hlchunk))
(hlchunk.setup {
:indent {
:enable true
:chars [ "." "." "." "." ]
:indent {
:enable true
:chars [ "." "." "." "." ]
:style
{ :#888888
:#666666
:#444444
:#333333
:#333333
:#333333
:#333333
:#333333 } }
:style
{ :#888888
:#666666
:#444444
:#333333
:#333333
:#333333
:#333333
:#333333 } }
:blank { :enable false }
:blank { :enable false }
:chunk { :enable false }
:chunk { :enable false }
:line_num {
:enable false
:style :#ADBC9F
}
:line_num {
:enable false
:style :#ADBC9F
}
})

View file

@ -1,35 +1,35 @@
(local incline (require :incline))
(incline.setup
{ :highlight
{ :groups
{ :InclineNormal
{ :default true
:group :lualine_a_normal }
{ :highlight
{ :groups
{ :InclineNormal
{ :default true
:group :lualine_a_normal }
:InclineNormalNC
{ :default true
:group :Comment } }}
:window
{ :margin
{ :vertical 0
:horizontal 1 }}
; :render
; (fn [props]
; (let
; [
; filename (vim.fn.fnamemodify (vim.api.nvim_buf_get_name props.buf) ::t)
; [icon color] (require :nvim-web-devicons).get_icon_color filename
; ]
;
; ([
; { icon
; { :guifg color } }
;
; [(if icon " " "")]
;
; [filename] ]) ))
})
:InclineNormalNC
{ :default true
:group :Comment } }}
:window
{ :margin
{ :vertical 0
:horizontal 1 }}
; :render
; (fn [props]
; (let
; [
; filename (vim.fn.fnamemodify (vim.api.nvim_buf_get_name props.buf) ::t)
; [icon color] (require :nvim-web-devicons).get_icon_color filename
; ]
;
; ([
; { icon
; { :guifg color } }
;
; [(if icon " " "")]
;
; [filename] ]) ))
})
; render = function(props)

View file

@ -4,12 +4,12 @@
(require (modul :lazy))
(require (modul :devicons))
(require (modul :gitsigns))
(require (modul :harpoon))
; (require (modul :harpoon))
(require (modul :lsp-zero))
(require (modul :lualine))
(require (modul :mini))
(require (modul :telescope))
(require (modul :treesitter))
(require (modul :wilder))
; (require (modul :wilder))
(require (modul :incline))
(require (modul :colorizer))

View file

@ -1,8 +1,8 @@
(local lazypath (.. (vim.fn.stdpath :data) :/lazy/lazy.nvim))
(if (not (vim.loop.fs_stat lazypath))
(vim.fn.system
[:git :clone :--filter=blob:none :https://github.com/folke/lazy.nvim.git :--branch=stable lazypath]))
(vim.fn.system
[:git :clone :--filter=blob:none :https://github.com/folke/lazy.nvim.git :--branch=stable lazypath]))
(vim.opt.rtp:prepend lazypath)
@ -10,67 +10,67 @@
(local plug 1)
(local plugins [
:ThePrimeagen/vim-be-good
:ThePrimeagen/vim-be-good
:udayvir-singh/tangerine.nvim
:udayvir-singh/hibiscus.nvim
:udayvir-singh/tangerine.nvim
:udayvir-singh/hibiscus.nvim
:lambdalisue/nerdfont.vim
:lambdalisue/nerdfont.vim
{ plug :catppuccin/nvim
:name :catppuccin
:priority 1000 }
{ plug :catppuccin/nvim
:name :catppuccin
:priority 1000 }
:gelguy/wilder.nvim
:bkad/camelcasemotion
:lewis6991/gitsigns.nvim
:gelguy/wilder.nvim
:bkad/camelcasemotion
:lewis6991/gitsigns.nvim
{ plug :b0o/incline.nvim
:event [:BufReadPre] }
{ plug :b0o/incline.nvim
:event [:BufReadPre] }
:echasnovski/mini.nvim
:brenoprata10/nvim-highlight-colors
:echasnovski/mini.nvim
:brenoprata10/nvim-highlight-colors
{ plug :svampkorg/moody.nvim
:event [:ModeChanged :BufWinEnter :WinEnter]
:opts [] }
{ plug :svampkorg/moody.nvim
:event [:ModeChanged :BufWinEnter :WinEnter]
:opts [] }
{ plug :nvim-telescope/telescope-fzf-native.nvim
:build :make }
{ plug :nvim-telescope/telescope-fzf-native.nvim
:build :make }
{ plug :nvim-telescope/telescope.nvim
:tag :0.1.8
:dependencies [:nvim-lua/plenary.nvim] }
{ plug :nvim-telescope/telescope.nvim
:tag :0.1.8
:dependencies [:nvim-lua/plenary.nvim] }
{ plug :OXY2DEV/markview.nvim
:dependencies
[ :nvim-treesitter/nvim-treesitter
:nvim-tree/nvim-web-devicons ] }
{ plug :OXY2DEV/markview.nvim
:dependencies
[ :nvim-treesitter/nvim-treesitter
:nvim-tree/nvim-web-devicons ] }
{ plug :ThePrimeagen/harpoon
:branch :harpoon2
:dependencies [:nvim-lua/plenary.nvim] }
{ plug :ThePrimeagen/harpoon
:branch :harpoon2
:dependencies [:nvim-lua/plenary.nvim] }
{ plug :nvim-lualine/lualine.nvim
:dependencies [:nvim-tree/nvim-web-devicons] }
{ plug :nvim-lualine/lualine.nvim
:dependencies [:nvim-tree/nvim-web-devicons] }
{ plug :nvim-treesitter/nvim-treesitter
:build ":TSUpdate" }
{ plug :nvim-treesitter/nvim-treesitter
:build ":TSUpdate" }
{ plug :VonHeikemen/lsp-zero.nvim
:branch "v3.x"
:dependencies
[ :neovim/nvim-lspconfig
:williamboman/mason.nvim
:williamboman/mason-lspconfig.nvim
{ plug :VonHeikemen/lsp-zero.nvim
:branch "v3.x"
:dependencies
[ :neovim/nvim-lspconfig
:williamboman/mason.nvim
:williamboman/mason-lspconfig.nvim
:hrsh7th/nvim-cmp
:hrsh7th/cmp-nvim-lsp
:L3MON4D3/LuaSnip ]}
:hrsh7th/nvim-cmp
:hrsh7th/cmp-nvim-lsp
:L3MON4D3/LuaSnip ]}
{ plug :m4xshen/hardtime.nvim
:dependencies
[ :MunifTanjim/nui.nvim
:nvim-lua/plenary.nvim ] } ])
{ plug :m4xshen/hardtime.nvim
:dependencies
[ :MunifTanjim/nui.nvim
:nvim-lua/plenary.nvim ] } ])
(lazy.setup plugins)

View file

@ -9,13 +9,15 @@
(local mason-lspc (require :mason-lspconfig))
(mason-lspc.setup
{ :ensure-installed
[ :fennel-ls
:lua-language-server
:python-lsp-server
:zls ]
{ :ensure-installed
[ :fennel-ls
:lua-language-server
:python-lsp-server
:ltex-ls
:zls
:rust-analyzer ]
:automatic_installation true })
:automatic_installation true })
(local cmp (require :cmp))
(local cmp_action (lsp.cmp_action))
@ -24,39 +26,39 @@
(lsp.on_attach (fn [_ bufnr] lsp.default_keymaps {:buffer bufnr}))
(lspconfig.pylsp.setup
{ :setings
{ :pylsp
{ :plugins
{ :pycodestyle
{ :ignore [:W391 :E303 :E226]
:maxLineLength 120 } }}}})
{ :setings { :pylsp { :plugins { :pycodestyle
{ :ignore [:W391 :E303 :E226]
:maxLineLength 120 } }}}})
(lsp.setup)
; (local fennel-ls lspconfig.fennel_ls)
; (fennel-ls.setup {})
(local fennel-ls lspconfig.fennel_ls)
(fennel-ls.setup {})
(local rustan lspconfig.rust_analyzer)
(rustan.setup {})
(lspconfig.racket_langserver.setup {})
(lspconfig.zls.setup {})
(cmp.setup
{ :mapping
{ :<CR> (cmp.mapping.confirm {:select true})
{ :mapping
{ :<CR> (cmp.mapping.confirm {:select true})
:<Tab> (cmp.mapping
(fn [fallback]
(if (cmp.visible)
(cmp.select_next_item)
(fallback)) [:i :s] ))
:<Tab> (cmp.mapping
(fn [fallback]
(if (cmp.visible)
(cmp.select_next_item)
(fallback)) [:i :s] ))
:<S-Tab> (cmp.mapping
(fn [fallback]
(if (cmp.visible)
(cmp.select_prev_item)
(fallback)) [:i :s] ))
:<S-Tab> (cmp.mapping
(fn [fallback]
(if (cmp.visible)
(cmp.select_prev_item)
(fallback)) [:i :s] ))
:<C-Space> cmp.mapping.complete
:<C-Space> cmp.mapping.complete
:<C-f> cmp_action.luasnip_jump_forward
:<C-b> cmp_action.luasnip_jump_backward }})
:<C-f> cmp_action.luasnip_jump_forward
:<C-b> cmp_action.luasnip_jump_backward }})

View file

@ -1,11 +1,11 @@
(local lualine (require :lualine))
(lualine.setup
{ :options
{ :section_separators
{ :left :
:right : }
{ :options
{ :section_separators
{ :left :
:right : }
:component_separators
{ :left :
:right : }} })
:component_separators
{ :left :
:right : }} })

View file

@ -1,11 +1,11 @@
(local telescope (require :telescope))
(telescope.setup
{ :extansions
{ :fzf
{ :fuzzy true
:override_generic_sorter true
:override_file_sorter true
:case_mode :smart_case } }})
{ :extansions
{ :fzf
{ :fuzzy true
:override_generic_sorter true
:override_file_sorter true
:case_mode :smart_case } }})
(telescope.load_extension :fzf)

View file

@ -2,25 +2,30 @@
; (local parsers (require :nvim-treesitter.parsers))
(configs.setup
{ :ensure_installed
[ :c
:lua
:vim
:vimdoc
:query
:haskell
:go
:bash
:python
:fennel
:hyprlang ]
{ :ensure_installed
[ :c
:rust
:lua
:vim
:vimdoc
:query
:haskell
:go
:bash
:python
:fennel
:hyprlang ]
:sync_install false
:auto_install true
:sync_install false
:auto_install true
:highlight
{ :enable true }})
:highlight
{ :enable true }})
(vim.filetype.add
{ :pattern
{ :.*/hypr/.*%.conf :hyprlang }})
{ :pattern
{ :.*/hypr/.*%.conf :hyprlang }})
(vim.filetype.add
{ :pattern
{ :*.tex :latex }})

View file

@ -1,24 +1,24 @@
; (local wilder (require :wilder))
;
; (wilder.setup {
; :modes [":" "/" "?"]
; :modes [":" "/" "?"]
; })
;
; (wilder.set_option :renderer (wilder.renderer_mux {
; ":" (wilder.popupmenu_renderer {
; :highlighter wilder.basic_highlighter
; :left [ " " wilder.popupmenu_devicons ]
; :right [ " " wilder.popupmenu_scrollbar ]
; })
; ":" (wilder.popupmenu_renderer {
; :highlighter wilder.basic_highlighter
; :left [ " " wilder.popupmenu_devicons ]
; :right [ " " wilder.popupmenu_scrollbar ]
; })
;
; "/" (wilder.popupmenu_renderer {
; :highlighter wilder.basic_highlighter
; :left [ "" wilder.popupmenu_devicons ]
; :right [ "" wilder.popupmenu_scrollbar ]
; })
; "/" (wilder.popupmenu_renderer {
; :highlighter wilder.basic_highlighter
; :left [ "" wilder.popupmenu_devicons ]
; :right [ "" wilder.popupmenu_scrollbar ]
; })
; }))
;
; (wilder.set_option :renderer
; (wilder.popupmenu_renderer
; { :max_height :20%
; :min_width :100% }))
; (wilder.popupmenu_renderer
; { :max_height :20%
; :min_width :100% }))

View file

@ -1,26 +1,26 @@
; ████████╗██████╗ ██╗██╗ ██╗██╗ ██╗
; ╚══██╔══╝██╔══██╗██║╚██╗██╔╝╚██╗ ██╔╝
; ██║ ██████╔╝██║ ╚███╔╝ ╚████╔╝
; ██║ ██╔══██╗██║ ██╔██╗ ╚██╔╝
; ██║ ██║ ██║██║██╔╝ ██╗ ██║
; ╚═╝ ╚═╝ ╚═╝╚═╝╚═╝ ╚═╝ ╚═
; ████████╗██████╗ ██╗██╗ ██╗██╗ ██╗
; ╚══██╔══╝██╔══██╗██║╚██╗██╔╝╚██╗ ██╔╝
; ██║ ██████╔╝██║ ╚███╔╝ ╚████╔╝
; ██║ ██╔══██╗██║ ██╔██╗ ╚██╔╝
; ██║ ██║ ██║██║██╔╝ ██╗ ██║
; ╚═╝ ╚═╝ ╚═╝╚═╝╚═╝ ╚═╝ ╚═
; Listen up, you motherfuckers,
; Those Ivy League dopes, they wanna
; mock us. Tell 'em all this is war.
; And not fighting a war is for suckers.
; Listen up, you motherfuckers,
; Those Ivy League dopes, they wanna
; mock us. Tell 'em all this is war.
; And not fighting a war is for suckers.
; (import-macros {: g! : set!} :hibiscus.vim)
; When using neovide, use these settings
; (when vim.g.neovide (do
; (set! guifont "FiraCode Nerd Font:h14")
; (g! neovide_scale_factor 1.0)
; (g! neovide_refresh_rate 120)
; (g! neovide_refresh_rate_idle 5)
; (g! neovide_cursor_antialiasing true)
; (g! neovide_cursor_animate_in_insert_mode true)
; (g! neovide_cursor_vfx_mode "ripple")))
; (set! guifont "FiraCode Nerd Font:h14")
; (g! neovide_scale_factor 1.0)
; (g! neovide_refresh_rate 120)
; (g! neovide_refresh_rate_idle 5)
; (g! neovide_cursor_antialiasing true)
; (g! neovide_cursor_animate_in_insert_mode true)
; (g! neovide_cursor_vfx_mode "ripple")))
(require :plugins)

View file

@ -4,23 +4,23 @@ vim.tbl_islist = vim.islist
-- bootstrap tangerine and hibiscus in order to have fennel support
local function bootstrap(url, ref)
local name = url:gsub(".*/", "")
local path
local name = url:gsub(".*/", "")
local path
path = vim.fn.stdpath("data") .. "/lazy/" .. name
vim.opt.rtp:prepend(path)
path = vim.fn.stdpath("data") .. "/lazy/" .. name
vim.opt.rtp:prepend(path)
if vim.fn.isdirectory(path) == 0 then
print(name .. ": installing in data dir...")
if vim.fn.isdirectory(path) == 0 then
print(name .. ": installing in data dir...")
vim.fn.system {"git", "clone", url, path}
if ref then
vim.fn.system {"git", "-C", path, "checkout", ref}
end
vim.fn.system {"git", "clone", url, path}
if ref then
vim.fn.system {"git", "-C", path, "checkout", ref}
end
vim.cmd "redraw"
print(name .. ": finished installing")
end
vim.cmd "redraw"
print(name .. ": finished installing")
end
end
bootstrap("https://github.com/udayvir-singh/tangerine.nvim")
@ -28,8 +28,8 @@ bootstrap("https://github.com/udayvir-singh/hibiscus.nvim")
require "tangerine".setup {
compiler = {
verbose = false,
hooks = { "onsave", "oninit" }
}
compiler = {
verbose = false,
hooks = { "onsave", "oninit" }
}
}