Merge branch 'fennel/rewrite'
This commit is contained in:
commit
0fb906f746
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -1 +1,2 @@
|
||||||
|
lua/
|
||||||
lazy-lock.json
|
lazy-lock.json
|
||||||
|
|
13
README.md
13
README.md
|
@ -5,20 +5,23 @@
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# 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 :
|
## 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/
|
$ git clone https://gitlab.com/zeitgeizt/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.
|
||||||
|
|
1
fnl/options/colors.fnl
Normal file
1
fnl/options/colors.fnl
Normal file
|
@ -0,0 +1 @@
|
||||||
|
(vim.cmd "colorscheme carbonfox")
|
6
fnl/options/init.fnl
Executable file
6
fnl/options/init.fnl
Executable file
|
@ -0,0 +1,6 @@
|
||||||
|
(local dir :options.)
|
||||||
|
(fn modul [name] (.. dir name))
|
||||||
|
|
||||||
|
(require (modul :colors))
|
||||||
|
(require (modul :keybind))
|
||||||
|
(require (modul :opts))
|
37
fnl/options/keybind.fnl
Executable file
37
fnl/options/keybind.fnl
Executable file
|
@ -0,0 +1,37 @@
|
||||||
|
(require-macros :hibiscus.core)
|
||||||
|
(require-macros :hibiscus.vim)
|
||||||
|
|
||||||
|
(g! mapleader " ")
|
||||||
|
|
||||||
|
|
||||||
|
(map! [n :noremap] :<C-space> "<cmd>Telescope buffers<CR>")
|
||||||
|
|
||||||
|
(map! [n :noremap] :<leader>tw "<cmd>lua MiniTrailspace.trim()<CR>")
|
||||||
|
|
||||||
|
(map! [n :noremap] :<leader>fo "<cmd>Oil<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>")
|
||||||
|
|
||||||
|
; remap keys so that they dont skip camelCase
|
||||||
|
(map! [n :noremap :silent] :w "<Plug>CamelCaseMotion_w")
|
||||||
|
(map! [n :noremap :silent] :b "<Plug>CamelCaseMotion_b")
|
||||||
|
(map! [n :noremap :silent] :e "<Plug>CamelCaseMotion_e")
|
||||||
|
(map! [n :noremap :silent] :ge "<Plug>CamelCaseMotion_ge")
|
||||||
|
|
||||||
|
; this little guy helps you move text, really helpful
|
||||||
|
(map! [v :noremap] :J ":m '>+1<CR>gv=gv")
|
||||||
|
(map! [v :noremap] :K ":m '<-2<CR>gv=gv")
|
||||||
|
|
||||||
|
; Cursor always stays on center
|
||||||
|
(map! [n :noremap] :J "mzJ`z")
|
||||||
|
(map! [n :noremap] :<C-d> "<C-d>zz")
|
||||||
|
(map! [n :noremap] :<C-u> "<C-u>zz")
|
||||||
|
(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]))
|
39
fnl/options/opts.fnl
Normal file
39
fnl/options/opts.fnl
Normal file
|
@ -0,0 +1,39 @@
|
||||||
|
(import-macros {: set!} :hibiscus.vim)
|
||||||
|
|
||||||
|
(set! number true) ; enable line number
|
||||||
|
(set! relativenumber true) ; enable relative line number
|
||||||
|
(set! undofile true) ; persistent undo
|
||||||
|
(set! backup false) ; disable backup
|
||||||
|
(set! autowrite true) ; auto write buffer when it's not focused
|
||||||
|
(set! ignorecase true) ; case insensitive on search..
|
||||||
|
(set! list true) ; display listchars
|
||||||
|
(set! smartindent true) ; smarter indentation
|
||||||
|
(set! splitright true) ; split right instead of left
|
||||||
|
(set! splitkeep :screen) ; stabilize split
|
||||||
|
(set! startofline false) ; don't go to the start of the line when moving to another file
|
||||||
|
(set! swapfile false) ; disable swapfile
|
||||||
|
(set! termguicolors true) ; true colours for better experience
|
||||||
|
(set! wrap false) ; don't wrap lines
|
||||||
|
(set! backupcopy :yes) ; fix weirdness for stuff that replaces the entire file when hot reloading
|
||||||
|
|
||||||
|
(set! smarttab false)
|
||||||
|
(set! tabstop 4)
|
||||||
|
(set! softtabstop 4)
|
||||||
|
(set! shiftwidth 4)
|
||||||
|
|
||||||
|
(set! compatible false) ; disable compatibility with old vi
|
||||||
|
(set! showmatch true) ; show matches while searching for text
|
||||||
|
(set! hlsearch true) ; highlight text that has been searched
|
||||||
|
(set! incsearch true) ; incramentally search
|
||||||
|
(set! autoindent true)
|
||||||
|
(set! wildmode "longest,list")
|
||||||
|
(set! mouse :v)
|
||||||
|
(set! mouse :a)
|
||||||
|
(set! clipboard :unnamedplus) ; use system clipboard
|
||||||
|
(set! ttyfast true)
|
||||||
|
(set! cursorline true)
|
||||||
|
(set! splitbelow true)
|
||||||
|
(set! autochdir true)
|
||||||
|
(set! signcolumn :yes:1)
|
||||||
|
(set! shell :/bin/zsh)
|
||||||
|
(set! splitright false)
|
33
fnl/plugins/devicons.fnl
Executable file
33
fnl/plugins/devicons.fnl
Executable file
|
@ -0,0 +1,33 @@
|
||||||
|
(local plug (require :nvim-web-devicons))
|
||||||
|
|
||||||
|
(plug.setup [
|
||||||
|
:strict true
|
||||||
|
:default true
|
||||||
|
:color_icons true
|
||||||
|
|
||||||
|
:override [
|
||||||
|
:zsh [
|
||||||
|
:icon ""
|
||||||
|
:color "#428850"
|
||||||
|
:cterm_color "65"
|
||||||
|
:name "zsh"
|
||||||
|
]
|
||||||
|
]
|
||||||
|
|
||||||
|
:override_by_filename [
|
||||||
|
:.gitignore [
|
||||||
|
:icon ""
|
||||||
|
:color "#f1502f"
|
||||||
|
:name "gitignore"
|
||||||
|
]
|
||||||
|
]
|
||||||
|
|
||||||
|
:override_by_extension [
|
||||||
|
:log [
|
||||||
|
:icon ""
|
||||||
|
:color "#81e043"
|
||||||
|
:name "Log"
|
||||||
|
]
|
||||||
|
]
|
||||||
|
|
||||||
|
])
|
46
fnl/plugins/gitsigns.fnl
Executable file
46
fnl/plugins/gitsigns.fnl
Executable file
|
@ -0,0 +1,46 @@
|
||||||
|
(local gitsigns (require :gitsigns))
|
||||||
|
|
||||||
|
(gitsigns.setup {
|
||||||
|
: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
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
: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_formatter "<author>, <author_time:%Y-%m-%d> - <summary>"
|
||||||
|
:sign_priority 6
|
||||||
|
:update_debounce 100
|
||||||
|
:status_formatter nil
|
||||||
|
:max_file_length 40000
|
||||||
|
|
||||||
|
:preview_config {
|
||||||
|
:border :single
|
||||||
|
:style :minimal
|
||||||
|
:relative :cursor
|
||||||
|
:row 0
|
||||||
|
:col 1
|
||||||
|
}
|
||||||
|
})
|
18
fnl/plugins/harpoon.fnl
Normal file
18
fnl/plugins/harpoon.fnl
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
(import-macros {: map!} :hibiscus.vim)
|
||||||
|
|
||||||
|
(local harpoon (require :harpoon))
|
||||||
|
(harpoon.setup)
|
||||||
|
|
||||||
|
(map! [n :noremap] :<leader>ha (fn [] (harpoon.list:append)))
|
||||||
|
|
||||||
|
(map! [n :noremap] :<C-e> (fn [] (harpoon.ui.toggle_quick_menu (harpoon.list))))
|
||||||
|
|
||||||
|
(map! [n :noremap] :<C-h> (fn [] (harpoon.list:select 1)))
|
||||||
|
(map! [n :noremap] :<C-t> (fn [] (harpoon.list:select 2)))
|
||||||
|
(map! [n :noremap] :<C-n> (fn [] (harpoon.list:select 3)))
|
||||||
|
(map! [n :noremap] :<C-s> (fn [] (harpoon.list:select 4)))
|
||||||
|
|
||||||
|
;; Toggle previous & next buffers stored within Harpoon list
|
||||||
|
(map! [n :noremap] :<C-S-P> (fn [] (harpoon.list:prev)))
|
||||||
|
(map! [n :noremap] :<C-S-N> (fn [] (harpoon.list:next)))
|
||||||
|
|
39
fnl/plugins/hlblocks.fnl
Executable file
39
fnl/plugins/hlblocks.fnl
Executable file
|
@ -0,0 +1,39 @@
|
||||||
|
(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
|
||||||
|
}
|
||||||
|
|
||||||
|
})
|
15
fnl/plugins/init.fnl
Executable file
15
fnl/plugins/init.fnl
Executable file
|
@ -0,0 +1,15 @@
|
||||||
|
(local dir :plugins.)
|
||||||
|
(fn modul [name] (.. dir name))
|
||||||
|
|
||||||
|
(require (modul :lazy))
|
||||||
|
(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))
|
91
fnl/plugins/lazy.fnl
Executable file
91
fnl/plugins/lazy.fnl
Executable file
|
@ -0,0 +1,91 @@
|
||||||
|
(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.opt.rtp:prepend lazypath)
|
||||||
|
|
||||||
|
(local lazy (require :lazy))
|
||||||
|
(local plug 1)
|
||||||
|
(local opt 1)
|
||||||
|
|
||||||
|
(lazy.setup [
|
||||||
|
:EdenEast/nightfox.nvim
|
||||||
|
:lambdalisue/nerdfont.vim
|
||||||
|
:gelguy/wilder.nvim
|
||||||
|
|
||||||
|
:bkad/camelcasemotion
|
||||||
|
:lewis6991/gitsigns.nvim
|
||||||
|
|
||||||
|
{
|
||||||
|
plug :stevearc/oil.nvim
|
||||||
|
:dependencies [
|
||||||
|
{plug :nvim-tree/nvim-web-devicons}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
plug :nvim-telescope/telescope.nvim
|
||||||
|
:tag "0.1.8"
|
||||||
|
:dependencies [
|
||||||
|
{plug :nvim-lua/plenary.nvim}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
plug :OXY2DEV/markview.nvim
|
||||||
|
:dependencies [
|
||||||
|
{plug :nvim-treesitter/nvim-treesitter}
|
||||||
|
{plug :nvim-tree/nvim-web-devicons}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
plug :shellRaining/hlchunk.nvim
|
||||||
|
:event [
|
||||||
|
{opt :UIEnter}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
plug :ThePrimeagen/harpoon
|
||||||
|
:branch :harpoon2
|
||||||
|
:dependencies [
|
||||||
|
{plug :nvim-lua/plenary.nvim}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
plug :nvim-lualine/lualine.nvim
|
||||||
|
:dependencies [
|
||||||
|
{plug :nvim-tree/nvim-web-devicons}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
plug :nvim-treesitter/nvim-treesitter
|
||||||
|
:build ":TSUpdate"
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
plug :VonHeikemen/lsp-zero.nvim
|
||||||
|
:branch "v3.x"
|
||||||
|
:dependencies [
|
||||||
|
{plug :neovim/nvim-lspconfig}
|
||||||
|
{plug :williamboman/mason.nvim}
|
||||||
|
{plug :williamboman/mason-lspconfig.nvim}
|
||||||
|
|
||||||
|
{plug :hrsh7th/nvim-cmp}
|
||||||
|
{plug :hrsh7th/cmp-nvim-lsp}
|
||||||
|
{plug :L3MON4D3/LuaSnip}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
plug :echasnovski/mini.nvim
|
||||||
|
:version false
|
||||||
|
}
|
||||||
|
])
|
||||||
|
|
||||||
|
|
43
fnl/plugins/lsp-zero.fnl
Executable file
43
fnl/plugins/lsp-zero.fnl
Executable file
|
@ -0,0 +1,43 @@
|
||||||
|
(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 cmp (require :cmp))
|
||||||
|
(local cmp_action (lsp.cmp_action))
|
||||||
|
|
||||||
|
|
||||||
|
(lsp.on_attach (fn [client bufnr] lsp.default_keymaps {:buffer bufnr}))
|
||||||
|
|
||||||
|
(lspconfig.pylsp.setup {
|
||||||
|
:setings {
|
||||||
|
:pylsp {
|
||||||
|
:plugins {
|
||||||
|
:pycodestyle {
|
||||||
|
:ignore [:W391 :E303 :E226]
|
||||||
|
:maxLineLength 120 }}}}})
|
||||||
|
|
||||||
|
(lsp.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] ))
|
||||||
|
|
||||||
|
:<C-Space> cmp.mapping.complete
|
||||||
|
|
||||||
|
:<C-f> cmp_action.luasnip_jump_forward
|
||||||
|
:<C-b> cmp_action.luasnip_jump_backward }})
|
257
fnl/plugins/lualine.fnl
Executable file
257
fnl/plugins/lualine.fnl
Executable file
|
@ -0,0 +1,257 @@
|
||||||
|
(local lualine (require :lualine))
|
||||||
|
(lualine.setup)
|
||||||
|
|
||||||
|
; TODO: create a new theme
|
||||||
|
|
||||||
|
; 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)
|
14
fnl/plugins/mini.fnl
Normal file
14
fnl/plugins/mini.fnl
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
(local cursorword (require :mini.cursorword))
|
||||||
|
(cursorword.setup)
|
||||||
|
|
||||||
|
(local trailspace (require :mini.trailspace))
|
||||||
|
(trailspace.setup)
|
||||||
|
|
||||||
|
(local pairs (require :mini.pairs))
|
||||||
|
(pairs.setup)
|
||||||
|
|
||||||
|
(local clue (require :mini.clue))
|
||||||
|
(clue.setup)
|
||||||
|
|
||||||
|
(local surround (require :mini.surround))
|
||||||
|
(surround.setup)
|
2
fnl/plugins/oil.fnl
Normal file
2
fnl/plugins/oil.fnl
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
(local oil (require :oil))
|
||||||
|
(oil.setup)
|
2
fnl/plugins/telescope.fnl
Normal file
2
fnl/plugins/telescope.fnl
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
(local telescope (require :telescope))
|
||||||
|
(telescope.setup)
|
28
fnl/plugins/treesitter.fnl
Executable file
28
fnl/plugins/treesitter.fnl
Executable file
|
@ -0,0 +1,28 @@
|
||||||
|
(local configs (require :nvim-treesitter.configs))
|
||||||
|
(local parsers (require :nvim-treesitter.parsers))
|
||||||
|
|
||||||
|
(configs.setup {
|
||||||
|
:ensure_installed [
|
||||||
|
:c
|
||||||
|
:lua
|
||||||
|
:vim
|
||||||
|
:vimdoc
|
||||||
|
:query
|
||||||
|
:haskell
|
||||||
|
:go
|
||||||
|
:bash
|
||||||
|
:python
|
||||||
|
:fennel
|
||||||
|
:hyprlang
|
||||||
|
]
|
||||||
|
|
||||||
|
:sync_install false
|
||||||
|
:auto_install true
|
||||||
|
|
||||||
|
:highlight {
|
||||||
|
:enable true
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
(vim.filetype.add {
|
||||||
|
:pattern { :.*/hypr/.*%.conf :hyprlang }})
|
24
fnl/plugins/wilder.fnl
Executable file
24
fnl/plugins/wilder.fnl
Executable file
|
@ -0,0 +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% }))
|
59
init.fnl
Normal file
59
init.fnl
Normal file
|
@ -0,0 +1,59 @@
|
||||||
|
; ████████╗██████╗ ██╗██╗ ██╗██╗ ██╗
|
||||||
|
; ╚══██╔══╝██╔══██╗██║╚██╗██╔╝╚██╗ ██╔╝
|
||||||
|
; ██║ ██████╔╝██║ ╚███╔╝ ╚████╔╝
|
||||||
|
; ██║ ██╔══██╗██║ ██╔██╗ ╚██╔╝
|
||||||
|
; ██║ ██║ ██║██║██╔╝ ██╗ ██║
|
||||||
|
; ╚═╝ ╚═╝ ╚═╝╚═╝╚═╝ ╚═╝ ╚═
|
||||||
|
|
||||||
|
; Listen up, you motherfuckers,
|
||||||
|
; Those Ivy League dopes, they wanna
|
||||||
|
; mock us. Tell 'em all this is war.
|
||||||
|
; And not fighting a war is for suckers.
|
||||||
|
|
||||||
|
(import-macros {: g! : set!} :hibiscus.vim)
|
||||||
|
|
||||||
|
; When using neovide, use these settings
|
||||||
|
(when vim.g.neovide (do
|
||||||
|
(set! guifont "FiraCode Nerd Font:h14")
|
||||||
|
(g! neovide_scale_factor 1.0)
|
||||||
|
(g! neovide_refresh_rate 120)
|
||||||
|
(g! neovide_refresh_rate_idle 5)
|
||||||
|
(g! neovide_cursor_antialiasing true)
|
||||||
|
(g! neovide_cursor_animate_in_insert_mode true)
|
||||||
|
(g! neovide_cursor_vfx_mode "ripple")))
|
||||||
|
|
||||||
|
; 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 :options)
|
58
init.lua
58
init.lua
|
@ -1,37 +1,35 @@
|
||||||
-- _.gd8888888bp._
|
|
||||||
-- ████████╗██████╗ ██╗██╗ ██╗██╗ ██╗ .g88888888888888888p.
|
|
||||||
-- ╚══██╔══╝██╔══██╗██║╚██╗██╔╝╚██╗ ██╔╝ .d8888P"" ""Y8888b.
|
|
||||||
-- ██║ ██████╔╝██║ ╚███╔╝ ╚████╔╝ "Y8P" "Y8P'
|
|
||||||
-- ██║ ██╔══██╗██║ ██╔██╗ ╚██╔╝ `. ,'
|
|
||||||
-- ██║ ██║ ██║██║██╔╝ ██╗ ██║ \ .-. /
|
|
||||||
-- ╚═╝ ╚═╝ ╚═╝╚═╝╚═╝ ╚═╝ ╚═╝ \ (___) /
|
|
||||||
-- .------------------._______________________:__________j
|
|
||||||
-- / | | |`-.,_
|
|
||||||
-- \###################|######################|###########|,-'`
|
|
||||||
-- `------------------' : ___ l
|
|
||||||
-- / ( ) \
|
|
||||||
-- / `-' \
|
|
||||||
-- ,' `.
|
|
||||||
-- Listen up, you motherfuckers, .d8b. .d8b.
|
|
||||||
-- Those Ivy League dopes, they wanna "Y8888p.. ,.d8888P"
|
|
||||||
-- mock us. Tell 'em all this is war. "Y88888888888888888P"
|
|
||||||
-- And not fighting a war is for suckers. ""YY8888888PP""
|
|
||||||
|
|
||||||
|
-- needed to fix deprecation warning
|
||||||
|
vim.tbl_islist = vim.islist
|
||||||
|
|
||||||
|
-- bootstrap tangerine and hibiscus in order to have fennel support
|
||||||
|
local function bootstrap(url, ref)
|
||||||
|
local name = url:gsub(".*/", "")
|
||||||
|
local path
|
||||||
|
|
||||||
-- Setup Lazy.nvim and plugins
|
path = vim.fn.stdpath("data") .. "/lazy/" .. name
|
||||||
require("plugins")
|
vim.opt.rtp:prepend(path)
|
||||||
|
|
||||||
-- Setup standard neovim options
|
if vim.fn.isdirectory(path) == 0 then
|
||||||
require("options")
|
print(name .. ": installing in data dir...")
|
||||||
|
|
||||||
|
vim.fn.system {"git", "clone", url, path}
|
||||||
|
if ref then
|
||||||
|
vim.fn.system {"git", "-C", path, "checkout", ref}
|
||||||
|
end
|
||||||
|
|
||||||
if vim.g.neovide then
|
vim.cmd "redraw"
|
||||||
vim.o.guifont = "FiraCode Nerd Font:h14"
|
print(name .. ": finished installing")
|
||||||
vim.g.neovide_scale_factor = 1.0
|
end
|
||||||
vim.g.neovide_refresh_rate = 120
|
|
||||||
vim.g.neovide_refresh_rate_idle = 5
|
|
||||||
vim.g.neovide_cursor_antialiasing = true
|
|
||||||
vim.g.neovide_cursor_animate_in_insert_mode = true
|
|
||||||
vim.g.neovide_cursor_vfx_mode = "ripple"
|
|
||||||
end
|
end
|
||||||
|
|
||||||
|
bootstrap("https://github.com/udayvir-singh/tangerine.nvim")
|
||||||
|
bootstrap("https://github.com/udayvir-singh/hibiscus.nvim")
|
||||||
|
|
||||||
|
|
||||||
|
require "tangerine".setup {
|
||||||
|
compiler = {
|
||||||
|
verbose = false,
|
||||||
|
hooks = { "onsave", "oninit" }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
115
lua_bak/plugins/lazy.lua
Executable file
115
lua_bak/plugins/lazy.lua
Executable file
|
@ -0,0 +1,115 @@
|
||||||
|
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
|
Loading…
Reference in a new issue