Compare commits

...

12 commits

39 changed files with 433 additions and 1815 deletions

1
.gitignore vendored
View file

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

View file

@ -1,24 +1,22 @@
<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.
# Opinionated configuration for NeoVim, aiming to be powerful whilst being minimal.
## Notable plugins and features include :
- improved camelCase navigation wit w, b, e etc
- `hlchunk.nvim` used for highlighting current scope
- `nvim-tree` for file tree view
- Whole configuration is written in `fennel` - lisp that compiles into lua
- `lazy.nvim` for plugin management
- `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
- ...
# 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"
```
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 " ")
(map! [n :noremap] :<C-space> "<cmd>Telescope buffers<CR>")
; trim those bastards
(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>fs "<cmd>Telescope current_buffer_fuzzy_find<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
(map! [n :noremap :silent] :w "<Plug>CamelCaseMotion_w")
@ -31,7 +35,7 @@
(map! [n :noremap] :n "nzzzv")
(map! [n :noremap] :N "Nzzzv")
(map! [x :noremap] :p (fn [] [:_dP]))
(map! [x :noremap] :<leader>p (fn [] [:+dP]))
(map! [n :noremap] :<leader>s ":%s/\\<<C-r><C-w>\\>/<C-r><C-w>/gI<Left><Left><Left>")
(map! [nv :noremap] :<leader>d (fn [] [:_d]))
; interface with system clipboard
(map! [nvx :noremap :silent] :<leader>y "\"+y")
(map! [nvx :noremap :silent] :<leader>Y "\"+yy")
(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! 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 true) ; smarter indentation
(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! 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! compatible false) ; disable compatibility with old vi
(set! showmatch true) ; show matches while searching for text
@ -27,13 +28,54 @@
(set! incsearch true) ; incramentally search
(set! autoindent true)
(set! wildmode "longest,list")
(set! inccommand :split)
; (lua "opt.formatoptions:remove \"o\"")
(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)
(set! autochdir true)
; (set! autochdir true)
(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
: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,34 +1,30 @@
(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
:watch_gitdir {
:follow_files true
}
:watch_gitdir { :follow_files true }
: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
@ -36,11 +32,9 @@
: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,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 :gitsigns))
(require (modul :harpoon))
(require (modul :hlblocks))
(require (modul :lsp-zero))
(require (modul :lualine))
(require (modul :mini))
(require (modul :oil))
(require (modul :telescope))
(require (modul :treesitter))
(require (modul :wilder))
(require (modul :incline))
(require (modul :colorizer))

View file

@ -1,91 +1,76 @@
(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)
(local lazy (require :lazy))
(local plug 1)
(local opt 1)
(lazy.setup [
:EdenEast/nightfox.nvim
(local plugins [
:ThePrimeagen/vim-be-good
:udayvir-singh/tangerine.nvim
:udayvir-singh/hibiscus.nvim
:lambdalisue/nerdfont.vim
:gelguy/wilder.nvim
{ plug :catppuccin/nvim
:name :catppuccin
:priority 1000 }
:gelguy/wilder.nvim
:bkad/camelcasemotion
:lewis6991/gitsigns.nvim
{
plug :stevearc/oil.nvim
:dependencies [
{plug :nvim-tree/nvim-web-devicons}
]
}
{ plug :b0o/incline.nvim
:event [:BufReadPre] }
{
plug :nvim-telescope/telescope.nvim
:tag "0.1.8"
:dependencies [
{plug :nvim-lua/plenary.nvim}
]
}
:echasnovski/mini.nvim
:brenoprata10/nvim-highlight-colors
{
plug :OXY2DEV/markview.nvim
:dependencies [
{plug :nvim-treesitter/nvim-treesitter}
{plug :nvim-tree/nvim-web-devicons}
]
}
{ plug :svampkorg/moody.nvim
:event [:ModeChanged :BufWinEnter :WinEnter]
:opts [] }
{
plug :shellRaining/hlchunk.nvim
:event [
{opt :UIEnter}
]
}
{ plug :nvim-telescope/telescope-fzf-native.nvim
:build :make }
{
plug :ThePrimeagen/harpoon
:branch :harpoon2
:dependencies [
{plug :nvim-lua/plenary.nvim}
]
}
{ plug :nvim-telescope/telescope.nvim
:tag :0.1.8
:dependencies [:nvim-lua/plenary.nvim] }
{
plug :nvim-lualine/lualine.nvim
:dependencies [
{plug :nvim-tree/nvim-web-devicons}
]
}
{ plug :OXY2DEV/markview.nvim
:dependencies
[ :nvim-treesitter/nvim-treesitter
:nvim-tree/nvim-web-devicons ] }
{
plug :nvim-treesitter/nvim-treesitter
:build ":TSUpdate"
}
{ plug :ThePrimeagen/harpoon
:branch :harpoon2
:dependencies [:nvim-lua/plenary.nvim] }
{
plug :VonHeikemen/lsp-zero.nvim
:branch "v3.x"
:dependencies [
{plug :neovim/nvim-lspconfig}
{plug :williamboman/mason.nvim}
{plug :williamboman/mason-lspconfig.nvim}
{ plug :nvim-lualine/lualine.nvim
:dependencies [:nvim-tree/nvim-web-devicons] }
{plug :hrsh7th/nvim-cmp}
{plug :hrsh7th/cmp-nvim-lsp}
{plug :L3MON4D3/LuaSnip}
]
}
{ plug :nvim-treesitter/nvim-treesitter
:build ":TSUpdate" }
{
plug :echasnovski/mini.nvim
:version false
}
])
{ 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 ]}
{ 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))
(lsp.preset)
(local lspconfig (require :lspconfig))
(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_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 {
:setings {
:pylsp {
:plugins {
:pycodestyle {
:ignore [:W391 :E303 :E226]
:maxLineLength 120 }}}}})
(lspconfig.pylsp.setup
{ :setings
{ :pylsp
{ :plugins
{ :pycodestyle
{ :ignore [:W391 :E303 :E226]
:maxLineLength 120 } }}}})
(lsp.setup)
(cmp.setup {
:mapping {
:<CR> (cmp.mapping.confirm {:select true})
; (local fennel-ls lspconfig.fennel_ls)
; (fennel-ls.setup {})
:<Tab> (cmp.mapping (fn [fallback]
(if (cmp.visible)
(cmp.select_next_item)
(lspconfig.racket_langserver.setup {})
(lspconfig.zls.setup {})
(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] ))
:<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,257 +1,11 @@
(local lualine (require :lualine))
(lualine.setup)
; TODO: create a new theme
(lualine.setup
{ :options
{ :section_separators
{ :left :
:right : }
; OLD THEME :
; 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 ''
; 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)
:component_separators
{ :left :
:right : }} })

View file

@ -1,2 +1,11 @@
(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 parsers (require :nvim-treesitter.parsers))
; (local parsers (require :nvim-treesitter.parsers))
(configs.setup {
:ensure_installed [
:c
:lua
:vim
:vimdoc
:query
:haskell
:go
:bash
:python
:fennel
:hyprlang
]
(configs.setup
{ :ensure_installed
[ :c
: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 }})
(vim.filetype.add
{ :pattern
{ :.*/hypr/.*%.conf :hyprlang }})

View file

@ -1,24 +1,24 @@
(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.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% }))
; (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.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% }))

View file

@ -10,49 +10,17 @@
; mock us. Tell 'em all this is war.
; 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 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")))
; 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))
; (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")))
(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