Compare commits

...

12 commits

39 changed files with 433 additions and 1815 deletions

1
.gitignore vendored
View file

@ -1,2 +1,3 @@
lua/ lua/
lua_bak/
lazy-lock.json lazy-lock.json

View file

@ -1,24 +1,22 @@
# Opinionated configuration for NeoVim, aiming to be powerful whilst being minimal.
<p align="center">
<img src="pictures/trixy.jpg" />
</p>
# Trixy is a begginer friendy distro of NeoVim, that aims to be powerful while remaining minimal.
## Notable plugins and features include : ## Notable plugins and features include :
- improved camelCase navigation wit w, b, e etc - Whole configuration is written in `fennel` - lisp that compiles into lua
- `hlchunk.nvim` used for highlighting current scope - `lazy.nvim` for plugin management
- `nvim-tree` for file tree view - `tangerine` for fennel compilation
- `hibiscus` for neovim fennel macros
- `markview.nvim` for amazing markdown previewing
- `oil.nvim` for buffer filesystem manipulation
- `lsp-zero` as a language server setup, simply briliant - `lsp-zero` as a language server setup, simply briliant
- ... - ...
# Installation # Installation
``` ```
$ git clone https://gitlab.com/sumarac/trixy ~/.config/nvim/ # doas pacman -S fennel
$ git clone https://git.bonsai.cool/brk/trixy ~/.config/nvim/
nvim +"Lazy sync" nvim +"Lazy sync"
``` ```
It should pull Lazy.nvim itself, and also all of the plugins. Run :Mason to install your Language Servers of choice. It should pull Lazy.nvim itself, and also all of the plugins. Run :Mason to install your Language Servers of choice.

View file

@ -1 +1,81 @@
(vim.cmd "colorscheme carbonfox") (import-macros {: set! : exec!} :hibiscus.vim)
(local espresso (require :catppuccin))
(local color_overrides
{ :macchiato
{ :rosewater :#F5B8AB
:flamingo :#F29D9D
:pink :#AD6FF7
:mauve :#FF8F40
:red :#E66767
:maroon :#EB788B
:peach :#FAB770
:yellow :#FACA64
:green :#70CF67
:teal :#4CD4BD
:sky :#61BDFF
:sapphire :#4BA8FA
:blue :#00BFFF
:lavender :#00BBCC
:text :#C1C9E6
:subtext1 :#A3AAC2
:subtext0 :#8E94AB
:overlay2 :#7D8296
:overlay1 :#676B80
:overlay0 :#464957
:surface2 :#3A3D4A
:surface1 :#2F313D
:surface0 :#1D1E29
:base :#0b0b0b
:mantle :#11111a
:crust :#191926 } })
(local integrations
{ :cmp true
:gitsigns true
:treesitter true
:telescope
{ :enabled true
:style :nvchad }
:mini
{ :enabled true} })
(espresso.setup
{ :flavour :macchiato
:color_overrides color_overrides
:integrations integrations })
(set! background :dark)
(exec! [colorscheme catppuccin])
; (local highlight_overrides
; { :all
; (fn [colors]
; :CurSearch { :bg colors.sky }
; :IncSearch { :bg colors.sky }
; :CursorLineNr { :fg colors.blue :style [:bold] }
; :DashboardFooter { :fg colors.overlay0 }
; :TreesitterContextBottom { :style {} }
; :WinSeparator { :fg colors.overlay0 :style [:bold] }
; :Headline { :style [:bold] }
; :Headline1 { :fg colors.blue :style [:bold] }
; :Headline2 { :fg colors.pink :style [:bold] }
; :Headline3 { :fg colors.lavender :style [:bold] }
; :Headline4 { :fg colors.green :style [:bold] }
; :Headline5 { :fg colors.peach :style [:bold] }
; :Headline6 { :fg colors.flamingo :style [:bold] }
; :rainbow1 { :fg colors.blue :style [:bold] }
; :rainbow2 { :fg colors.pink :style [:bold] }
; :rainbow3 { :fg colors.lavender :style [:bold] }
; :rainbow4 { :fg colors.green :style [:bold] }
; :rainbow5 { :fg colors.peach :style [:bold] }
; :rainbow6 { :fg colors.flamingo :style [:bold] }
; "@markup.italic" { :fg colors.blue :style [:italic] }
; "@markup.strong" { :fg colors.blue :style [:bold] } )})

View file

@ -3,16 +3,20 @@
(g! mapleader " ") (g! mapleader " ")
; trim those bastards
(map! [n :noremap] :<C-space> "<cmd>Telescope buffers<CR>")
(map! [n :noremap] :<leader>tw "<cmd>lua MiniTrailspace.trim()<CR>") (map! [n :noremap] :<leader>tw "<cmd>lua MiniTrailspace.trim()<CR>")
(map! [n :noremap] :<leader>fo "<cmd>Oil<CR>") ; Telescope mappings
(map! [n :noremap] :<leader>fb "<cmd>Telescope buffers<CR>")
(map! [n :noremap] :<leader>ff "<cmd>Telescope find_files<CR>") (map! [n :noremap] :<leader>ff "<cmd>Telescope find_files<CR>")
(map! [n :noremap] :<leader>fs "<cmd>Telescope current_buffer_fuzzy_find<CR>") (map! [n :noremap] :<leader>fs "<cmd>Telescope current_buffer_fuzzy_find<CR>")
(map! [n :noremap] :<leader>gs "<cmd>Telescope git_status<CR>") (map! [n :noremap] :<leader>gs "<cmd>Telescope git_status<CR>")
(map! [n :noremap] :<leader>gg "<cmd>Telescope live_grep<CR>") (map! [n :noremap] :<leader>fg "<cmd>Telescope live_grep<CR>")
(map! [n :noremap] :<leader>fh "<cmd>Telescope help_tags<CR>")
(map! [n :noremap] :<leader>fk "<cmd>Telescope keymaps<CR>")
(map! [n :noremap] :<leader>tt "<cmd>terminal<CR>")
(map! [n :noremap] :<C-Space> "<cmd>bprev<CR>")
; remap keys so that they dont skip camelCase ; remap keys so that they dont skip camelCase
(map! [n :noremap :silent] :w "<Plug>CamelCaseMotion_w") (map! [n :noremap :silent] :w "<Plug>CamelCaseMotion_w")
@ -31,7 +35,7 @@
(map! [n :noremap] :n "nzzzv") (map! [n :noremap] :n "nzzzv")
(map! [n :noremap] :N "Nzzzv") (map! [n :noremap] :N "Nzzzv")
(map! [x :noremap] :p (fn [] [:_dP])) ; interface with system clipboard
(map! [x :noremap] :<leader>p (fn [] [:+dP])) (map! [nvx :noremap :silent] :<leader>y "\"+y")
(map! [n :noremap] :<leader>s ":%s/\\<<C-r><C-w>\\>/<C-r><C-w>/gI<Left><Left><Left>") (map! [nvx :noremap :silent] :<leader>Y "\"+yy")
(map! [nv :noremap] :<leader>d (fn [] [:_d])) (map! [nvx :noremap :silent] :<leader>p "\"+p")

View file

@ -1,25 +1,26 @@
(import-macros {: set!} :hibiscus.vim) (import-macros {: set! : g! : exec!} :hibiscus.vim)
(set! number true) ; enable line number (set! number true) ; enable line number
(set! relativenumber true) ; enable relative line number (set! relativenumber true) ; enable relative line number
(set! undofile true) ; persistent undo (set! undofile true) ; persistent undo
(set! backup false) ; disable backup (set! backup false) ; disable backup
(set! autowrite true) ; auto write buffer when it's not focused (set! autowrite true) ; auto write buffer when it's not focused
(set! ignorecase true) ; case insensitive on search.. (set! ignorecase true) ; case insensitive on search..
(set! list true) ; display listchars (set! list true) ; display listchars
(set! smartindent true) ; smarter indentation (set! smartindent false) ; smarter indentation
(set! splitright true) ; split right instead of left (set! splitright true) ; split right instead of left
(set! splitkeep :screen) ; stabilize split (set! splitkeep :screen) ; stabilize split
(set! startofline false) ; don't go to the start of the line when moving to another file (set! startofline false) ; don't go to the start of the line when moving to another file
(set! swapfile false) ; disable swapfile (set! swapfile false) ; disable swapfile
(set! termguicolors true) ; true colours for better experience (set! termguicolors true) ; true colours for better experience
(set! wrap false) ; don't wrap lines (set! wrap false) ; don't wrap lines
(set! backupcopy :yes) ; fix weirdness for stuff that replaces the entire file when hot reloading (set! backupcopy :yes) ; fix weirdness for stuff that replaces the entire file when hot reloading
(set! smarttab false) (set! smarttab false)
(set! tabstop 4) (set! tabstop 4)
(set! softtabstop 4) (set! softtabstop 4)
(set! shiftwidth 4) (set! shiftwidth 4)
(set! expandtab false)
(set! compatible false) ; disable compatibility with old vi (set! compatible false) ; disable compatibility with old vi
(set! showmatch true) ; show matches while searching for text (set! showmatch true) ; show matches while searching for text
@ -27,13 +28,54 @@
(set! incsearch true) ; incramentally search (set! incsearch true) ; incramentally search
(set! autoindent true) (set! autoindent true)
(set! wildmode "longest,list") (set! wildmode "longest,list")
(set! inccommand :split)
; (lua "opt.formatoptions:remove \"o\"")
(set! mouse :v) (set! mouse :v)
(set! mouse :a) (set! mouse :a)
(set! clipboard :unnamedplus) ; use system clipboard ; (set! clipboard :unnamedplus) ; use system clipboard
(set! ttyfast true) (set! ttyfast true)
(set! cursorline true) (set! cursorline true)
(set! splitbelow true) (set! splitbelow true)
(set! autochdir true) ; (set! autochdir true)
(set! signcolumn :yes:1) (set! signcolumn :yes:1)
(set! shell :/bin/zsh)
(set! splitright false) (set! showmode false)
(set! cmdheight 0)
(vim.cmd "syntax match keyword \"\\<lambda\\>\" conceal cchar=λ")
(set! conceallevel 1)
; 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 })
(each [_ plug (ipairs default_plugins)]
(g! (.. :loaded plug) 1))

View file

@ -0,0 +1,6 @@
(import-macros {: set!} :hibiscus.vim)
(set! termguicolors true)
(local colorizer (require :nvim-highlight-colors))
(colorizer.setup)

View file

@ -5,29 +5,21 @@
:default true :default true
:color_icons true :color_icons true
:override [ :override
:zsh [ [ :zsh
:icon "" [ :icon ""
:color "#428850" :color "#428850"
:cterm_color "65" :cterm_color "65"
:name "zsh" :name "zsh" ]]
]
]
:override_by_filename [ :override_by_filename
:.gitignore [ [ :.gitignore
:icon "" [ :icon ""
:color "#f1502f" :color "#f1502f"
:name "gitignore" :name "gitignore" ]]
]
]
:override_by_extension [ :override_by_extension
:log [ [ :log
:icon "" [ :icon ""
:color "#81e043" :color "#81e043"
:name "Log" :name "Log" ]] ])
]
]
])

View file

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

View file

@ -1,39 +0,0 @@
(local hlchunk (require :hlchunk))
(hlchunk.setup {
:indent {
:chars { "." "." "." "." }
:style {
:#888888
:#666666
:#444444
:#333333
:#333333
:#333333
:#333333
:#333333
}
}
:blank {
:enable false
}
:chunk {
:chars {
:horizontal_line ""
:vertical_line ""
:left_top ""
:left_bottom ""
:right_arrow ""
}
:style :#FF7F00
}
:line_num {
:style :#FFFFFF
}
})

27
fnl/plugins/hlchunk.fnl Executable file
View file

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

39
fnl/plugins/incline.fnl Normal file
View file

@ -0,0 +1,39 @@
(local incline (require :incline))
(incline.setup
{ :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] ]) ))
})
; render = function(props)
; local filename = vim.fn.fnamemodify(vim.api.nvim_buf_get_name(props.buf), ":t")
; local icon, color = require("nvim-web-devicons").get_icon_color(filename)
; return { { icon, guifg = color }, { icon and " " or "" }, { filename } }
; end,

View file

@ -5,11 +5,11 @@
(require (modul :devicons)) (require (modul :devicons))
(require (modul :gitsigns)) (require (modul :gitsigns))
(require (modul :harpoon)) (require (modul :harpoon))
(require (modul :hlblocks))
(require (modul :lsp-zero)) (require (modul :lsp-zero))
(require (modul :lualine)) (require (modul :lualine))
(require (modul :mini)) (require (modul :mini))
(require (modul :oil))
(require (modul :telescope)) (require (modul :telescope))
(require (modul :treesitter)) (require (modul :treesitter))
(require (modul :wilder)) (require (modul :wilder))
(require (modul :incline))
(require (modul :colorizer))

View file

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

View file

@ -1,115 +0,0 @@
local lazypath = vim.fn.stdpath('data') .. '/lazy/lazy.nvim'
if not vim.loop.fs_stat(lazypath) then
vim.fn.system({
'git',
'clone',
'--filter=blob:none',
'https://github.com/folke/lazy.nvim.git',
'--branch=stable', -- latest stable release
lazypath,
})
end
vim.opt.rtp:prepend(lazypath)
require('lazy').setup({
'EdenEast/nightfox.nvim',
'luckasRanarison/tree-sitter-hypr',
'lambdalisue/nerdfont.vim',
'gelguy/wilder.nvim',
'bkad/camelcasemotion',
'lewis6991/gitsigns.nvim',
{
'nvim-telescope/telescope.nvim',
tag = '0.1.8',
dependencies = {
'nvim-lua/plenary.nvim'
}
},
{
'stevearc/oil.nvim',
dependencies = {
'nvim-tree/nvim-web-devicons'
},
},
{
'kylechui/nvim-surround',
version = '*', -- Use for stability; omit to use `main` branch for the latest features
config = function()
require('nvim-surround').setup()
end
},
{
'OXY2DEV/markview.nvim',
config = function()
require('markview').setup()
end,
dependencies = {
-- You may not need this if you don't lazy load
-- Or if the parsers are in your $RUNTIMEPATH
"nvim-treesitter/nvim-treesitter",
"nvim-tree/nvim-web-devicons"
},
},
{
'shellRaining/hlchunk.nvim',
event = {
'UIEnter'
},
},
{
'ThePrimeagen/harpoon',
branch = 'harpoon2',
dependencies = {
'nvim-lua/plenary.nvim'
}
},
{
'nvim-lualine/lualine.nvim',
dependencies =
{
'nvim-tree/nvim-web-devicons',
opt = true
}
},
{
'nvim-treesitter/nvim-treesitter',
build = ':TSUpdate'
},
{
'VonHeikemen/lsp-zero.nvim',
branch = 'v3.x',
dependencies = {
-- LSP Support
'neovim/nvim-lspconfig',
'williamboman/mason.nvim',
'williamboman/mason-lspconfig.nvim',
-- Autocompletion
'hrsh7th/nvim-cmp',
'hrsh7th/cmp-nvim-lsp',
'L3MON4D3/LuaSnip',
}
},
{
'echasnovski/mini.nvim',
version = false
},
})
vim.opt.laststatus=2

View file

@ -1,43 +1,62 @@
(local mason (require :mason))
(mason.setup)
(local lsp (require :lsp-zero)) (local lsp (require :lsp-zero))
(lsp.preset) (lsp.preset)
(local lspconfig (require :lspconfig)) (local lspconfig (require :lspconfig))
(lspconfig.lua_ls.setup (lsp.nvim_lua_ls)) (lspconfig.lua_ls.setup (lsp.nvim_lua_ls))
(local mason (require :mason))
(mason.setup)
(local mason-lspc (require :mason-lspconfig))
(mason-lspc.setup
{ :ensure-installed
[ :fennel-ls
:lua-language-server
:python-lsp-server
:zls ]
:automatic_installation true })
(local cmp (require :cmp)) (local cmp (require :cmp))
(local cmp_action (lsp.cmp_action)) (local cmp_action (lsp.cmp_action))
(lsp.on_attach (fn [client bufnr] lsp.default_keymaps {:buffer bufnr})) (lsp.on_attach (fn [_ bufnr] lsp.default_keymaps {:buffer bufnr}))
(lspconfig.pylsp.setup { (lspconfig.pylsp.setup
:setings { { :setings
:pylsp { { :pylsp
:plugins { { :plugins
:pycodestyle { { :pycodestyle
:ignore [:W391 :E303 :E226] { :ignore [:W391 :E303 :E226]
:maxLineLength 120 }}}}}) :maxLineLength 120 } }}}})
(lsp.setup) (lsp.setup)
(cmp.setup { ; (local fennel-ls lspconfig.fennel_ls)
:mapping { ; (fennel-ls.setup {})
:<CR> (cmp.mapping.confirm {:select true})
:<Tab> (cmp.mapping (fn [fallback] (lspconfig.racket_langserver.setup {})
(if (cmp.visible) (lspconfig.zls.setup {})
(cmp.select_next_item)
(cmp.setup
{ :mapping
{ :<CR> (cmp.mapping.confirm {:select true})
:<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] )) (fallback)) [:i :s] ))
:<S-Tab> (cmp.mapping (fn [fallback] :<C-Space> cmp.mapping.complete
(if (cmp.visible)
(cmp.select_prev_item)
(fallback)) [:i :s] ))
:<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,257 +1,11 @@
(local lualine (require :lualine)) (local lualine (require :lualine))
(lualine.setup)
; TODO: create a new theme (lualine.setup
{ :options
{ :section_separators
{ :left :
:right : }
; OLD THEME : :component_separators
{ :left :
; local lualine = require('lualine') :right : }} })
;
; local colors = {
; bg = '#202328',
; fg = '#bbc2cf',
; yellow = '#ECBE7B',
; cyan = '#008080',
; darkblue = '#081633',
; green = '#98be65',
; orange = '#FF8800',
; violet = '#a9a1e1',
; magenta = '#c678dd',
; blue = '#51afef',
; red = '#ec5f67',
; }
;
;
; local conditions = {
; buffer_not_empty = function()
; return vim.fn.empty(vim.fn.expand('%:t')) ~= 1
; end,
; hide_in_width = function()
; return vim.fn.winwidth(0) > 80
; end,
; check_git_workspace = function()
; local filepath = vim.fn.expand('%:p:h')
; local gitdir = vim.fn.finddir('.git', filepath .. ';')
; return gitdir and #gitdir > 0 and #gitdir < #filepath
; end,
; }
;
; -- Config
; local config = {
; options = {
; component_separators = '',
; section_separators = '',
; theme = {
;
; normal = {
; c = {
; fg = colors.fg,
; bg = colors.bg
; }
; },
;
; inactive = {
; c = {
; fg = colors.fg,
; bg = colors.bg
; }
; },
;
; },
; },
;
;
; sections = {
; lualine_a = {},
; lualine_b = {},
; lualine_y = {},
; lualine_z = {},
; lualine_c = {},
; lualine_x = {},
; },
; inactive_sections = {
; lualine_a = {},
; lualine_b = {},
; lualine_y = {},
; lualine_z = {},
; lualine_c = {},
; lualine_x = {},
; },
; }
;
; local function ins_left(component)
; table.insert(config.sections.lualine_c, component)
; end
;
; local function ins_right(component)
; table.insert(config.sections.lualine_x, component)
; end
;
; ins_left {
; function()
; return '▊'
; end,
;
; color = { fg = colors.blue },
;
; padding = {
; left = 0,
; right = 1
; },
; }
;
;
;
; ins_left {
; function()
; -- return ''
; return ''
; end,
; color = function()
; local mode_color = {
; n = colors.blue,
; i = colors.red,
; v = colors.green,
; [''] = colors.orange,
; V = colors.green,
; c = colors.magenta,
; no = colors.red,
; s = colors.orange,
; S = colors.orange,
; [''] = colors.orange,
; ic = colors.yellow,
; R = colors.violet,
; Rv = colors.violet,
; cv = colors.red,
; ce = colors.red,
; r = colors.cyan,
; rm = colors.cyan,
; ['r?'] = colors.cyan,
; ['!'] = colors.red,
; t = colors.red,
; }
; return { fg = mode_color[vim.fn.mode()] }
; end,
; padding = { right = 1 },
; }
;
;
; ins_left {
; 'branch',
; icon = '',
;
; color = {
; fg = colors.violet,
; gui = 'bold'
; },
; }
;
; ins_left {
; 'diff',
;
; symbols = {
; added = ' ',
; modified = ' ',
; removed = ' '
; },
;
; diff_color = {
; added = { fg = colors.green },
; modified = { fg = colors.orange },
; removed = { fg = colors.red },
; },
;
; cond = conditions.hide_in_width,
; }
;
;
;
; ins_left {
; 'diagnostics',
;
; sources = { 'nvim_diagnostic' },
;
; symbols = {
; error = ' ',
; warn = ' ',
; info = ' '
; },
;
; diagnostics_color = {
; color_error = { fg = colors.red },
; color_warn = { fg = colors.yellow },
; color_info = { fg = colors.cyan },
; },
; }
;
; ins_left {
; function()
; return '%='
; end,
; }
;
;
; ins_left {
; 'filename',
; cond = conditions.buffer_not_empty,
;
; color = {
; fg = colors.magenta,
; gui = 'bold'
; },
; }
;
;
; ins_right {
; 'filetype',
; colored = true,
; icon_only = false,
; icon = { align = 'right' }
; }
;
; ins_right {
; 'progress',
;
; color = {
; fg = colors.fg,
; gui = 'bold'
; }
; }
;
;
; ins_right {
; 'o:encoding',
;
; fmt = string.upper,
; cond = conditions.hide_in_width,
;
; color = {
; fg = colors.green,
; gui = 'bold'
; },
; }
;
;
; ins_right {
; 'fileformat',
;
; fmt = string.upper,
; icons_enabled = false,
;
; color = {
; fg = colors.green,
; gui = 'bold'
; },
; }
;
;
; ins_right {
; function()
; return '▊'
; end,
;
; color = { fg = colors.blue },
; padding = { left = 1 },
; }
;
; lualine.setup(config)

View file

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

View file

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

View file

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

View file

@ -10,49 +10,17 @@
; mock us. Tell 'em all this is war. ; mock us. Tell 'em all this is war.
; And not fighting a war is for suckers. ; And not fighting a war is for suckers.
(import-macros {: g! : set!} :hibiscus.vim) ; (import-macros {: g! : set!} :hibiscus.vim)
; When using neovide, use these settings ; When using neovide, use these settings
(when vim.g.neovide (do ; (when vim.g.neovide (do
(set! guifont "FiraCode Nerd Font:h14") ; (set! guifont "FiraCode Nerd Font:h14")
(g! neovide_scale_factor 1.0) ; (g! neovide_scale_factor 1.0)
(g! neovide_refresh_rate 120) ; (g! neovide_refresh_rate 120)
(g! neovide_refresh_rate_idle 5) ; (g! neovide_refresh_rate_idle 5)
(g! neovide_cursor_antialiasing true) ; (g! neovide_cursor_antialiasing true)
(g! neovide_cursor_animate_in_insert_mode true) ; (g! neovide_cursor_animate_in_insert_mode true)
(g! neovide_cursor_vfx_mode "ripple"))) ; (g! neovide_cursor_vfx_mode "ripple")))
; 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 })
(each [id plug (ipairs default_plugins)]
(g! (.. :loaded plug) 1))
(require :plugins) (require :plugins)

View file

@ -1 +0,0 @@
vim.cmd("colorscheme carbonfox")

View file

@ -1,17 +0,0 @@
local harpoon = require("harpoon")
-- REQUIRED
harpoon:setup()
-- REQUIRED
vim.keymap.set("n", "<leader>ha", function() harpoon:list():append() end)
vim.keymap.set("n", "<C-e>", function() harpoon.ui:toggle_quick_menu(harpoon:list()) end)
vim.keymap.set("n", "<C-h>", function() harpoon:list():select(1) end)
vim.keymap.set("n", "<C-t>", function() harpoon:list():select(2) end)
vim.keymap.set("n", "<C-n>", function() harpoon:list():select(3) end)
vim.keymap.set("n", "<C-s>", function() harpoon:list():select(4) end)
-- Toggle previous & next buffers stored within Harpoon list
vim.keymap.set("n", "<C-S-P>", function() harpoon:list():prev() end)
vim.keymap.set("n", "<C-S-N>", function() harpoon:list():next() end)

View file

@ -1,3 +0,0 @@
require("options.colors")
require("options.keybind")
require("options.opts")

View file

@ -1,63 +0,0 @@
vim.g.mapleader = " "
local map = vim.api.nvim_set_keymap
local cmap = vim.keymap.set
local options = { noremap = true }
local cmd_options = { noremap = true, silent = true }
map('n', '<C-space>', '<cmd>Telescope buffers<CR>', options)
-- slef explanitory
map("n", "<leader>tw", "<cmd>lua MiniTrailspace.trim()<CR>", options)
vim.keymap.set("n", "<leader>fo", function()
require("oil").open()
end)
map("n", "<leader>ff", "<cmd>Telescope find_files<CR>", options)
map("n", "<leader>fs", "<cmd>Telescope current_buffer_fuzzy_find<CR>", options)
map("n", "<leader>gs", "<cmd>Telescope git_status<CR>", options)
map("n", "<leader>gg", "<cmd>Telescope live_grep<CR>", options)
-- remap keys so that they dont skip camelCase
map("n", "w", "<Plug>CamelCaseMotion_w", cmd_options)
map("n", "b", "<Plug>CamelCaseMotion_b", cmd_options)
map("n", "e", "<Plug>CamelCaseMotion_e", cmd_options)
map("n", "ge", "<Plug>CamelCaseMotion_ge", cmd_options)
-- this little guy helps you move text, really helpful
map("v", "J", ":m '>+1<CR>gv=gv", options)
map("v", "K", ":m '<-2<CR>gv=gv", options)
-- Cursor always stays on center
map("n", "J", "mzJ`z", options)
map("n", "<C-d>", "<C-d>zz", options)
map("n", "<C-u>", "<C-u>zz", options)
map("n", "n", "nzzzv", options)
map("n", "N", "Nzzzv", options)
-- paste text but DONT copy the overridden text
cmap("x", "p", [["_dP]])
cmap("x", "<leader>p", [["+dP]])
-- delete text but DONT copy to clipboard
cmap({ "n", "v" }, "<leader>d", [["_d]])
-- quickfix stuff
--
--
-- map("n", "<C-k>", "<cmd>cnext<CR>zz", options)
-- map("n", "<C-j>", "<cmd>cprev<CR>zz", options)
-- map("n", "<leader>k", "<cmd>lnext<CR>zz", options)
-- map("n", "<leader>j", "<cmd>lprev<CR>zz", options)
-- search and replace every instance of word under cursor
cmap("n", "<leader>s", [[:%s/\<<C-r><C-w>\>/<C-r><C-w>/gI<Left><Left><Left>]])

View file

@ -1,72 +0,0 @@
local o = vim.opt
o.number = true -- enable line number
o.relativenumber = true -- enable relative line number
o.undofile = true -- persistent undo
o.backup = false -- disable backup
o.autowrite = true -- auto write buffer when it's not focused
o.ignorecase = true -- case insensitive on search..
o.list = true -- display listchars
o.smartindent = true -- smarter indentation
o.splitright = true -- split right instead of left
o.splitkeep = "screen" -- stabilize split
o.startofline = false -- don't go to the start of the line when moving to another file
o.swapfile = false -- disable swapfile
o.termguicolors = true -- true colours for better experience
o.wrap = false -- don't wrap lines
o.backupcopy = "yes" -- fix weirdness for stuff that replaces the entire file when hot reloading
o.smarttab = false
o.tabstop = 4
o.softtabstop = 4
o.shiftwidth = 4
o.compatible = false -- disable compatibility with old vi
o.showmatch = true -- show matches while searching for text
o.hlsearch = true -- highlight text that has been searched
o.incsearch = true -- incramentally search
o.shiftwidth = 4
o.autoindent = true
o.wildmode = "longest,list"
o.mouse = "v"
o.mouse = "a"
o.clipboard = "unnamedplus" -- use system clipboard
o.ttyfast = true
o.cursorline = true
o.splitbelow = true
o.autochdir = true
o.signcolumn ="yes:1"
o.shell = "/bin/zsh"
o.splitright = false
-- vim.api.nvim_command("filetype off")
-- vim.api.nvim_command("let &runtimepath.=',~/.vim/bundle/neoterm'")
-- vim.api.nvim_command("filetype plugin on")
-- vim.api.nvim_command("filetype plugin indent on")
-- vim.api.nvim_command("syntax on")
-- disable builtin plugins as they are not needed
local disabled_built_ins = {
"netrw",
"netrwPlugin",
"netrwSettings",
"netrwFileHandlers",
"gzip",
"zip",
"zipPlugin",
"tar",
"tarPlugin",
"getscript",
"getscriptPlugin",
"vimball",
"vimballPlugin",
"2html_plugin",
"logipat",
"rrhelper",
"spellfile_plugin",
"matchit"
}
for _, plugin in pairs(disabled_built_ins) do
vim.g["loaded_" .. plugin] = 1
end

View file

@ -1,47 +0,0 @@
require'nvim-web-devicons'.setup {
-- your personnal icons can go here (to override)
-- you can specify color or cterm_color instead of specifying both of them
-- DevIcon will be appended to `name`
override = {
zsh = {
icon = "",
color = "#428850",
cterm_color = "65",
name = "Zsh"
}
};
-- globally enable different highlight colors per icon (default to true)
-- if set to false all icons will have the default icon's color
color_icons = true;
-- globally enable default icons (default to false)
-- will get overriden by `get_icons` option
default = true;
-- globally enable "strict" selection of icons - icon will be looked up in
-- different tables, first by filename, and if not found by extension; this
-- prevents cases when file doesn't have any extension but still gets some icon
-- because its name happened to match some extension (default to false)
strict = true;
-- same as `override` but specifically for overrides by filename
-- takes effect when `strict` is true
override_by_filename = {
[".gitignore"] = {
icon = "",
color = "#f1502f",
name = "Gitignore"
}
};
-- same as `override` but specifically for overrides by extension
-- takes effect when `strict` is true
override_by_extension = {
["log"] = {
icon = "",
color = "#81e043",
name = "Log"
}
};
}

View file

@ -1,45 +0,0 @@
require('gitsigns').setup {
signs = {
add = { text = '' },
change = { text = '' },
delete = { text = '' },
topdelete = { text = '' },
changedelete = { text = '' },
untracked = { text = '' },
},
signcolumn = true, -- Toggle with `:Gitsigns toggle_signs`
numhl = false, -- Toggle with `:Gitsigns toggle_numhl`
linehl = false, -- Toggle with `:Gitsigns toggle_linehl`
word_diff = false, -- Toggle with `:Gitsigns toggle_word_diff`
watch_gitdir = {
follow_files = true
},
attach_to_untracked = true,
current_line_blame = false, -- Toggle with `:Gitsigns toggle_current_line_blame`
current_line_blame_opts = {
virt_text = true,
virt_text_pos = 'eol', -- 'eol' | 'overlay' | 'right_align'
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, -- Use default
max_file_length = 40000, -- Disable if file is longer than this (in lines)
preview_config = {
-- Options passed to nvim_open_win
border = 'single',
style = 'minimal',
relative = 'cursor',
row = 0,
col = 1
},
}

View file

@ -1,17 +0,0 @@
local harpoon = require("harpoon")
-- REQUIRED
harpoon:setup()
-- REQUIRED
vim.keymap.set("n", "<leader>a", function() harpoon:list():append() end)
vim.keymap.set("n", "<C-e>", function() harpoon.ui:toggle_quick_menu(harpoon:list()) end)
vim.keymap.set("n", "<C-h>", function() harpoon:list():select(1) end)
vim.keymap.set("n", "<C-t>", function() harpoon:list():select(2) end)
vim.keymap.set("n", "<C-n>", function() harpoon:list():select(3) end)
vim.keymap.set("n", "<C-s>", function() harpoon:list():select(4) end)
-- Toggle previous & next buffers stored within Harpoon list
vim.keymap.set("n", "<C-S-P>", function() harpoon:list():prev() end)
vim.keymap.set("n", "<C-S-N>", function() harpoon:list():next() end)

View file

@ -1,39 +0,0 @@
require('hlchunk').setup({
indent = {
chars = { "·", "·", "·", "·", },
--chars = { "│", "¦", "┆", "┊", }, -- more code can be found in https://unicodeplus.com/
style = {
"#888888",
"#666666",
"#444444",
"#333333",
"#333333",
"#333333",
"#333333",
"#333333",
}
},
blank = {
enable = false,
},
chunk = {
chars = {
horizontal_line = "",
vertical_line = "",
left_top = "",
left_bottom = "",
right_arrow = "",
},
style = "#FF7F00",
},
line_num = {
style = "#FFFFFF",
},
})

View file

@ -1,12 +0,0 @@
require("plugins.lazy")
require("plugins.devicons")
require("plugins.gitsigns")
require("plugins.harpoon")
require("plugins.hlblocks")
require("plugins.lsp-zero")
require("plugins.lualine")
require("plugins.mini")
require("plugins.oil")
require("plugins.telescope")
require("plugins.treesitter")
require("plugins.wilder")

View file

@ -1,115 +0,0 @@
local lazypath = vim.fn.stdpath('data') .. '/lazy/lazy.nvim'
if not vim.loop.fs_stat(lazypath) then
vim.fn.system({
'git',
'clone',
'--filter=blob:none',
'https://github.com/folke/lazy.nvim.git',
'--branch=stable', -- latest stable release
lazypath,
})
end
vim.opt.rtp:prepend(lazypath)
require('lazy').setup({
'EdenEast/nightfox.nvim',
'luckasRanarison/tree-sitter-hypr',
'lambdalisue/nerdfont.vim',
'gelguy/wilder.nvim',
'bkad/camelcasemotion',
'lewis6991/gitsigns.nvim',
{
'nvim-telescope/telescope.nvim',
tag = '0.1.8',
dependencies = {
'nvim-lua/plenary.nvim'
}
},
{
'stevearc/oil.nvim',
dependencies = {
'nvim-tree/nvim-web-devicons'
},
},
{
'kylechui/nvim-surround',
version = '*', -- Use for stability; omit to use `main` branch for the latest features
config = function()
require('nvim-surround').setup()
end
},
{
'OXY2DEV/markview.nvim',
config = function()
require('markview').setup()
end,
dependencies = {
-- You may not need this if you don't lazy load
-- Or if the parsers are in your $RUNTIMEPATH
"nvim-treesitter/nvim-treesitter",
"nvim-tree/nvim-web-devicons"
},
},
{
'shellRaining/hlchunk.nvim',
event = {
'UIEnter'
},
},
{
'ThePrimeagen/harpoon',
branch = 'harpoon2',
dependencies = {
'nvim-lua/plenary.nvim'
}
},
{
'nvim-lualine/lualine.nvim',
dependencies =
{
'nvim-tree/nvim-web-devicons',
opt = true
}
},
{
'nvim-treesitter/nvim-treesitter',
build = ':TSUpdate'
},
{
'VonHeikemen/lsp-zero.nvim',
branch = 'v3.x',
dependencies = {
-- LSP Support
'neovim/nvim-lspconfig',
'williamboman/mason.nvim',
'williamboman/mason-lspconfig.nvim',
-- Autocompletion
'hrsh7th/nvim-cmp',
'hrsh7th/cmp-nvim-lsp',
'L3MON4D3/LuaSnip',
}
},
{
'echasnovski/mini.nvim',
version = false
},
})
vim.opt.laststatus=2

View file

@ -1,67 +0,0 @@
require('mason').setup()
local lsp = require('lsp-zero').preset({})
lsp.on_attach(function(client, bufnr)
-- see :help lsp-zero-keybindings
-- to learn the available actions
lsp.default_keymaps({buffer = bufnr})
end)
-- (Optional) Configure lua language server for neovim
require('lspconfig').lua_ls.setup(lsp.nvim_lua_ls())
require('lspconfig').pylsp.setup{
settings = {
pylsp = {
plugins = {
pycodestyle = {
ignore = {'W391', 'E303', 'E226'},
maxLineLength = 120
}
}
}
}
}
lsp.setup()
-- You need to setup `cmp` after lsp-zero
local cmp = require('cmp')
local cmp_action = require('lsp-zero').cmp_action()
cmp.setup({
mapping = {
-- `Enter` key to confirm completion
['<CR>'] = cmp.mapping.confirm({select = true}),
-- Cycle with tab, as intended by divine creation
["<Tab>"] = cmp.mapping(function(fallback)
if cmp.visible() then
cmp.select_next_item()
else
fallback()
end
end, {"i", "s"}),
["<S-Tab>"] = cmp.mapping(function(fallback)
if cmp.visible() then
cmp.select_prev_item()
else
fallback()
end
end, {"i", "s"}),
-- Ctrl+Space to trigger completion menu
['<C-Space>'] = cmp.mapping.complete(),
-- Navigate between snippet placeholder
['<C-f>'] = cmp_action.luasnip_jump_forward(),
['<C-b>'] = cmp_action.luasnip_jump_backward(),
}
})

View file

@ -1,276 +0,0 @@
-- Eviline config for lualine
-- Author: shadmansaleh
-- Credit: glepnir
local lualine = require('lualine')
local colors = {
bg = '#202328',
fg = '#bbc2cf',
yellow = '#ECBE7B',
cyan = '#008080',
darkblue = '#081633',
green = '#98be65',
orange = '#FF8800',
violet = '#a9a1e1',
magenta = '#c678dd',
blue = '#51afef',
red = '#ec5f67',
}
local conditions = {
buffer_not_empty = function()
return vim.fn.empty(vim.fn.expand('%:t')) ~= 1
end,
hide_in_width = function()
return vim.fn.winwidth(0) > 80
end,
check_git_workspace = function()
local filepath = vim.fn.expand('%:p:h')
local gitdir = vim.fn.finddir('.git', filepath .. ';')
return gitdir and #gitdir > 0 and #gitdir < #filepath
end,
}
-- Config
local config = {
options = {
component_separators = '',
section_separators = '',
theme = {
normal = {
c = {
fg = colors.fg,
bg = colors.bg
}
},
inactive = {
c = {
fg = colors.fg,
bg = colors.bg
}
},
},
},
sections = {
lualine_a = {},
lualine_b = {},
lualine_y = {},
lualine_z = {},
lualine_c = {},
lualine_x = {},
},
inactive_sections = {
lualine_a = {},
lualine_b = {},
lualine_y = {},
lualine_z = {},
lualine_c = {},
lualine_x = {},
},
}
local function ins_left(component)
table.insert(config.sections.lualine_c, component)
end
local function ins_right(component)
table.insert(config.sections.lualine_x, component)
end
ins_left {
function()
return ''
end,
color = { fg = colors.blue },
padding = {
left = 0,
right = 1
},
}
ins_left {
function()
return ''
--return ''
-- local mode_string = {
-- n = 'Normal',
-- i = 'Insert',
-- v = 'Visual',
-- V = 'Visual line',
-- c = 'Change',
-- no = 'dunno1',
-- s = 'dunno2',
-- S = 'dunno3',
-- [''] = 'dunno4',
-- ic = 'dunno5',
-- R = 'dunno6',
-- Rv = 'dunno7',
-- cv = 'dunno8',
-- ce = 'dunno9',
-- r = 'dunno10',
-- rm = 'dunno11',
-- ['r?'] = 'dunno12',
-- ['!'] = 'dunno13',
-- t = 'dunno14',
-- }
-- return mode_string[vim.fn.mode()]
--
end,
color = function()
local mode_color = {
n = colors.blue,
i = colors.red,
v = colors.green,
[''] = colors.orange,
V = colors.green,
c = colors.magenta,
no = colors.red,
s = colors.orange,
S = colors.orange,
[''] = colors.orange,
ic = colors.yellow,
R = colors.violet,
Rv = colors.violet,
cv = colors.red,
ce = colors.red,
r = colors.cyan,
rm = colors.cyan,
['r?'] = colors.cyan,
['!'] = colors.red,
t = colors.red,
}
return { fg = mode_color[vim.fn.mode()] }
end,
padding = { right = 1 },
}
ins_left {
'branch',
icon = '',
color = {
fg = colors.violet,
gui = 'bold'
},
}
ins_left {
'diff',
symbols = {
added = '',
modified = '',
removed = ''
},
diff_color = {
added = { fg = colors.green },
modified = { fg = colors.orange },
removed = { fg = colors.red },
},
cond = conditions.hide_in_width,
}
ins_left {
'diagnostics',
sources = { 'nvim_diagnostic' },
symbols = {
error = '',
warn = '',
info = ''
},
diagnostics_color = {
color_error = { fg = colors.red },
color_warn = { fg = colors.yellow },
color_info = { fg = colors.cyan },
},
}
ins_left {
function()
return '%='
end,
}
ins_left {
'filename',
cond = conditions.buffer_not_empty,
color = {
fg = colors.magenta,
gui = 'bold'
},
}
ins_right {
'filetype',
colored = true,
icon_only = false,
icon = { align = 'right' }
}
ins_right {
'progress',
color = {
fg = colors.fg,
gui = 'bold'
}
}
ins_right {
'o:encoding',
fmt = string.upper,
cond = conditions.hide_in_width,
color = {
fg = colors.green,
gui = 'bold'
},
}
ins_right {
'fileformat',
fmt = string.upper,
icons_enabled = false,
color = {
fg = colors.green,
gui = 'bold'
},
}
ins_right {
function()
return ''
end,
color = { fg = colors.blue },
padding = { left = 1 },
}
lualine.setup(config)

View file

@ -1,108 +0,0 @@
require('mini.cursorword').setup()
require('mini.trailspace').setup()
require('mini.pairs').setup()
local miniclue = require('mini.clue')
miniclue.setup({
triggers = {
-- Leader triggers
{ mode = 'n', keys = '<Leader>' },
{ mode = 'x', keys = '<Leader>' },
-- Built-in completion
{ mode = 'i', keys = '<C-x>' },
-- `g` key
{ mode = 'n', keys = 'g' },
{ mode = 'x', keys = 'g' },
-- Marks
{ mode = 'n', keys = "'" },
{ mode = 'n', keys = '`' },
{ mode = 'x', keys = "'" },
{ mode = 'x', keys = '`' },
-- Registers
{ mode = 'n', keys = '"' },
{ mode = 'x', keys = '"' },
{ mode = 'i', keys = '<C-r>' },
{ mode = 'c', keys = '<C-r>' },
-- Window commands
{ mode = 'n', keys = '<C-w>' },
-- `z` key
{ mode = 'n', keys = 'z' },
{ mode = 'x', keys = 'z' },
},
clues = {
-- Enhance this by adding descriptions for <Leader> mapping groups
miniclue.gen_clues.builtin_completion(),
miniclue.gen_clues.g(),
miniclue.gen_clues.marks(),
miniclue.gen_clues.registers(),
miniclue.gen_clues.windows(),
miniclue.gen_clues.z(),
},
-- Array of opt-in triggers which start custom key query process.
-- **Needs to have something in order to show clues**.
-- Clue window settings
window = {
-- Floating window config
config = {},
-- Delay before showing clue window
delay = 400,
-- Keys to scroll inside the clue window
scroll_down = '<C-d>',
scroll_up = '<C-u>',
},
})
require('mini.surround').setup(
{
-- Add custom surroundings to be used on top of builtin ones. For more
-- information with examples, see `:h MiniSurround.config`.
custom_surroundings = nil,
-- Duration (in ms) of highlight when calling `MiniSurround.highlight()`
highlight_duration = 500,
-- Module mappings. Use `''` (empty string) to disable one.
mappings = {
add = 'sa', -- Add surrounding in Normal and Visual modes
delete = 'sd', -- Delete surrounding
find = 'sf', -- Find surrounding (to the right)
find_left = 'sF', -- Find surrounding (to the left)
highlight = 'sh', -- Highlight surrounding
replace = 'sr', -- Replace surrounding
update_n_lines = 'sn', -- Update `n_lines`
suffix_last = 'l', -- Suffix to search with "prev" method
suffix_next = 'n', -- Suffix to search with "next" method
},
-- Number of lines within which surrounding is searched
n_lines = 20,
-- Whether to respect selection type:
-- - Place surroundings on separate lines in linewise mode.
-- - Place surroundings on each line in blockwise mode.
respect_selection_type = false,
-- How to search for surrounding (first inside current line, then inside
-- neighborhood). One of 'cover', 'cover_or_next', 'cover_or_prev',
-- 'cover_or_nearest', 'next', 'prev', 'nearest'. For more details,
-- see `:h MiniSurround.config`.
search_method = 'cover',
-- Whether to disable showing non-error feedback
silent = false,
}
)

View file

@ -1,177 +0,0 @@
require("oil").setup({
-- Oil will take over directory buffers (e.g. `vim .` or `:e src/`)
-- Set to false if you still want to use netrw.
default_file_explorer = true,
-- Id is automatically added at the beginning, and name at the end
-- See :help oil-columns
columns = {
"icon",
-- "permissions",
-- "size",
-- "mtime",
},
-- Buffer-local options to use for oil buffers
buf_options = {
buflisted = false,
bufhidden = "hide",
},
-- Window-local options to use for oil buffers
win_options = {
wrap = false,
signcolumn = "no",
cursorcolumn = false,
foldcolumn = "0",
spell = false,
list = false,
conceallevel = 3,
concealcursor = "nvic",
},
-- Send deleted files to the trash instead of permanently deleting them (:help oil-trash)
delete_to_trash = false,
-- Skip the confirmation popup for simple operations (:help oil.skip_confirm_for_simple_edits)
skip_confirm_for_simple_edits = false,
-- Selecting a new/moved/renamed file or directory will prompt you to save changes first
-- (:help prompt_save_on_select_new_entry)
prompt_save_on_select_new_entry = true,
-- Oil will automatically delete hidden buffers after this delay
-- You can set the delay to false to disable cleanup entirely
-- Note that the cleanup process only starts when none of the oil buffers are currently displayed
cleanup_delay_ms = 2000,
lsp_file_methods = {
-- Time to wait for LSP file operations to complete before skipping
timeout_ms = 1000,
-- Set to true to autosave buffers that are updated with LSP willRenameFiles
-- Set to "unmodified" to only save unmodified buffers
autosave_changes = false,
},
-- Constrain the cursor to the editable parts of the oil buffer
-- Set to `false` to disable, or "name" to keep it on the file names
constrain_cursor = "editable",
-- Set to true to watch the filesystem for changes and reload oil
experimental_watch_for_changes = false,
-- Keymaps in oil buffer. Can be any value that `vim.keymap.set` accepts OR a table of keymap
-- options with a `callback` (e.g. { callback = function() ... end, desc = "", mode = "n" })
-- Additionally, if it is a string that matches "actions.<name>",
-- it will use the mapping at require("oil.actions").<name>
-- Set to `false` to remove a keymap
-- See :help oil-actions for a list of all available actions
keymaps = {
["g?"] = "actions.show_help",
["<CR>"] = "actions.select",
["<C-s>"] = "actions.select_vsplit",
["<C-h>"] = "actions.select_split",
["<C-t>"] = "actions.select_tab",
["<C-p>"] = "actions.preview",
["<C-c>"] = "actions.close",
["<C-l>"] = "actions.refresh",
["-"] = "actions.parent",
["_"] = "actions.open_cwd",
["`"] = "actions.cd",
["~"] = "actions.tcd",
["gs"] = "actions.change_sort",
["gx"] = "actions.open_external",
["g."] = "actions.toggle_hidden",
["g\\"] = "actions.toggle_trash",
},
-- Set to false to disable all of the above keymaps
use_default_keymaps = true,
view_options = {
-- Show files and directories that start with "."
show_hidden = false,
-- This function defines what is considered a "hidden" file
is_hidden_file = function(name, bufnr)
return vim.startswith(name, ".")
end,
-- This function defines what will never be shown, even when `show_hidden` is set
is_always_hidden = function(name, bufnr)
return false
end,
-- Sort file names in a more intuitive order for humans. Is less performant,
-- so you may want to set to false if you work with large directories.
natural_order = true,
sort = {
-- sort order can be "asc" or "desc"
-- see :help oil-columns to see which columns are sortable
{ "type", "asc" },
{ "name", "asc" },
},
},
-- Extra arguments to pass to SCP when moving/copying files over SSH
extra_scp_args = {},
-- EXPERIMENTAL support for performing file operations with git
git = {
-- Return true to automatically git add/mv/rm files
add = function(path)
return false
end,
mv = function(src_path, dest_path)
return false
end,
rm = function(path)
return false
end,
},
-- Configuration for the floating window in oil.open_float
float = {
-- Padding around the floating window
padding = 2,
max_width = 0,
max_height = 0,
border = "rounded",
win_options = {
winblend = 0,
},
-- This is the config that will be passed to nvim_open_win.
-- Change values here to customize the layout
override = function(conf)
return conf
end,
},
-- Configuration for the actions floating preview window
preview = {
-- Width dimensions can be integers or a float between 0 and 1 (e.g. 0.4 for 40%)
-- min_width and max_width can be a single value or a list of mixed integer/float types.
-- max_width = {100, 0.8} means "the lesser of 100 columns or 80% of total"
max_width = 0.9,
-- min_width = {40, 0.4} means "the greater of 40 columns or 40% of total"
min_width = { 40, 0.4 },
-- optionally define an integer/float for the exact width of the preview window
width = nil,
-- Height dimensions can be integers or a float between 0 and 1 (e.g. 0.4 for 40%)
-- min_height and max_height can be a single value or a list of mixed integer/float types.
-- max_height = {80, 0.9} means "the lesser of 80 columns or 90% of total"
max_height = 0.9,
-- min_height = {5, 0.1} means "the greater of 5 columns or 10% of total"
min_height = { 5, 0.1 },
-- optionally define an integer/float for the exact height of the preview window
height = nil,
border = "rounded",
win_options = {
winblend = 0,
},
-- Whether the preview window is automatically updated when the cursor is moved
update_on_cursor_moved = true,
},
-- Configuration for the floating progress window
progress = {
max_width = 0.9,
min_width = { 40, 0.4 },
width = nil,
max_height = { 10, 0.9 },
min_height = { 5, 0.1 },
height = nil,
border = "rounded",
minimized_border = "none",
win_options = {
winblend = 0,
},
},
-- Configuration for the floating SSH window
ssh = {
border = "rounded",
},
-- Configuration for the floating keymaps help window
keymaps_help = {
border = "rounded",
},
})

View file

@ -1,30 +0,0 @@
require('telescope').setup{
defaults = {
-- Default configuration for telescope goes here:
-- config_key = value,
mappings = {
i = {
-- map actions.which_key to <C-h> (default: <C-/>)
-- actions.which_key shows the mappings for your picker,
-- e.g. git_{create, delete, ...}_branch for the git_branches picker
["<C-h>"] = "which_key"
}
}
},
pickers = {
-- Default configuration for builtin pickers goes here:
-- picker_name = {
-- picker_config_key = value,
-- ...
-- }
-- Now the picker_config_key will be applied every time you call this
-- builtin picker
},
extensions = {
-- Your extension configuration goes here:
-- extension_name = {
-- extension_config_key = value,
-- }
-- please take a look at the readme of the extension you want to configure
}
}

View file

@ -1,27 +0,0 @@
require'nvim-treesitter.configs'.setup {
-- A list of parser names, or "all" (the five listed parsers should always be installed)
ensure_installed = { "c", "lua", "vim", "vimdoc", "query", "haskell", "go", "bash", "python" },
-- Install parsers synchronously (only applied to `ensure_installed`)
sync_install = false,
-- Automatically install missing parsers when entering buffer
-- Recommendation: set to false if you don't have `tree-sitter` CLI installed locally
auto_install = true,
highlight = {
enable = true,
},
}
local parser_config = require("nvim-treesitter.parsers").get_parser_configs()
parser_config.hypr = {
install_info = {
url = "https://github.com/luckasRanarison/tree-sitter-hypr",
files = { "src/parser.c" },
branch = "master",
},
filetype = "hypr",
}

View file

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

View file

Before

Width:  |  Height:  |  Size: 86 KiB

After

Width:  |  Height:  |  Size: 86 KiB