Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file modified .DS_Store
Binary file not shown.
2 changes: 1 addition & 1 deletion .config/nvim/fnl/core.fnl
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
fennel aniseed.fennel}

require-macros [macros zest.macros]})
(let [(res err) (pcall #(require :packer_compiled))] #(do nil))
; (let [(res err) (pcall #(require :packer_compiled))] #(do nil))
; (if err))
; (vim.notify (string.format "Failure loading packer_compiled %s" (tostring err)) vim.log.levels.ERROR)))
(opt-set mouse "a")
Expand Down
18 changes: 7 additions & 11 deletions .config/nvim/fnl/macros.fnl
Original file line number Diff line number Diff line change
Expand Up @@ -31,16 +31,12 @@
(table.insert use-statements block)))

(let [use-sym (gensym)]
`(let [packer# (require "packer")]
(packer#.startup {1
(fn [,use-sym]
,(unpack
(icollect [_# v# (ipairs use-statements)]
`(,use-sym ,v#))))
:config {:compile_path (.. (vim.fn.stdpath "config") ,sep "lua" ,sep "packer_compiled.lua")
:display {:open_fn (fn [] (let [(b# win# buf#) ((. (require "packer.util") :float) {:border :rounded})]
(vim.api.nvim_win_set_option win# :winhighlight "PmenuThumb:Normal,FloatBorder:Normal,Normal:Normal,StatusLine:Normal")
(vim.api.nvim_buf_set_name buf# :Packer)
(values b# win# buf#)))}}})))))}
`(let [lazy# (require "lazy")]
(lazy#.setup {:spec
[,(unpack
(icollect [_# v# (ipairs use-statements)]
v#))]
})))))}



89 changes: 43 additions & 46 deletions .config/nvim/fnl/plugins.fnl
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,9 @@
:MunifTanjim/nui.nvim {:module :nui}

; Startup and typical operation
:Olical/aniseed {:branch :develop}
:Olical/aniseed {}
:rktjmp/hotpot.nvim {}
:lewis6991/impatient.nvim {:require :sqlite.lua :config #(require "impatient")}
; :lewis6991/impatient.nvim {:require :sqlite.lua :config #(require "impatient")}
:wbthomason/packer.nvim {}
:kyazdani42/nvim-web-devicons {:config #(require :plugins.devicons)}

Expand All @@ -32,16 +32,16 @@
{:cmd :Telescope
:keys [:<C-f> :<C-b>]
:module :telescope
:requires [:plenary.nvim :nvim-telescope/telescope-ui-select.nvim {1 :nvim-telescope/telescope-frecency.nvim :requires :sqlite.lua}]
:dependencies [:plenary.nvim :nvim-telescope/telescope-ui-select.nvim {1 :nvim-telescope/telescope-frecency.nvim :dependencies :sqlite.lua}]
:config #(require :plugins.telescope)}
:numToStr/Comment.nvim {:config #(require :plugins.comment)}
:lewis6991/gitsigns.nvim {:requires [:plenary.nvim] :config #(require :plugins.gitsigns)} ;:mod gitsigns}
:TimUntersberger/neogit {:cmd :Neogit :requires [:plenary.nvim] :config #(require :plugins.neogit)} ;:mod neogit}
:lewis6991/gitsigns.nvim {:dependencies [:plenary.nvim] :config #(require :plugins.gitsigns)} ;:mod gitsigns}
:TimUntersberger/neogit {:cmd :Neogit :dependencies [:plenary.nvim] :config #(require :plugins.neogit)} ;:mod neogit}
:norcalli/nvim-colorizer.lua {:config
#((. (require "colorizer") :setup))}
:rcarriga/nvim-notify {:config #(set vim.notify (require "notify"))}

:folke/todo-comments.nvim {:requires :plenary.nvim :config #(require "plugins.todo")} ;:mod todo}
:folke/todo-comments.nvim {:dependencies :plenary.nvim :config #(require "plugins.todo")} ;:mod todo}

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:
;;; quality of life improvements ;;;
Expand All @@ -51,7 +51,7 @@
;(vim.api.nvim_command "command! -nargs=0 Load :lua require('persistence').load()")
; (persistence.setup))}
:christoomey/vim-tmux-navigator {}
:folke/which-key.nvim {:opt false :config #(require "plugins.whichkey")}
:folke/which-key.nvim {:lazy false :config #(require "plugins.whichkey")}
:windwp/nvim-autopairs {:config #(require "plugins.autopairs")} ; :mod autopairs}
; :Yggdroot/indentLine {} ;; disable in favour of below plugin
:lukas-reineke/indent-blankline.nvim
Expand All @@ -66,82 +66,79 @@
:tweekmonster/startuptime.vim {:cmd :StartupTime}
:andweeb/presence.nvim {:config #(require :plugins.presence)}; :mod presence}
:wakatime/vim-wakatime {}
:tjdevries/train.nvim {:opt true}
:tjdevries/train.nvim {:lazy true}

; Completion
; :github/copilot.vim {};:opt true}
:saadparwaiz1/cmp_luasnip {:opt true :requires :luasnip :module :cmp_luasnip}
:github/copilot.vim {};:lazy true}
:saadparwaiz1/cmp_luasnip {:lazy true :dependencies :luasnip :module :cmp_luasnip}
:L3mON4D3/luasnip {:module :luasnip}
:uga-rosa/cmp-dictionary {:module :cmp_dictionary}
:hrsh7th/cmp-buffer {:opt true :module :cmp_buffer}
:hrsh7th/cmp-buffer {:lazy true :module :cmp_buffer}
:hrsh7th/cmp-path {}
:hrsh7th/cmp-cmdline {}
:hrsh7th/cmp-nvim-lua {:ft [:lua :fennel]}
:hrsh7th/cmp-copilot {}
:Saecki/crates.nvim {:requires :plenary.nvim :ft [:toml] :config #((. (require :crates) :setup))}
:hrsh7th/nvim-cmp {:requires [:crates.nvim :cmp-copilot :cmp_luasnip :luasnip :hrsh7th/cmp-buffer] :config #(require :plugins.cmp)}; :module [:plugins.cmp :cmp] :ft [:lua :fennel]
:Saecki/crates.nvim {:dependencies :plenary.nvim :ft [:toml] :config #((. (require :crates) :setup))}
:hrsh7th/nvim-cmp {:dependencies [:crates.nvim :cmp-copilot :cmp_luasnip :luasnip :hrsh7th/cmp-buffer] :config #(require :plugins.cmp)}; :module [:plugins.cmp :cmp] :ft [:lua :fennel]


;Language support
:nvim-treesitter/nvim-treesitter
{:do :TSUpdate
:requires [:JoosepAlviste/nvim-ts-context-commentstring :nvim-treesitter/nvim-treesitter-refactor :nvim-treesitter/playground ] :config #(require "plugins.treesitter")} ; :mod treesitter}
:dependencies [:JoosepAlviste/nvim-ts-context-commentstring :nvim-treesitter/nvim-treesitter-refactor :nvim-treesitter/playground ] :config #(require "plugins.treesitter")} ; :mod treesitter}

:folke/twilight.nvim {:cmd :Twilight :requires :nvim-treesitter}
:folke/twilight.nvim {:cmd :Twilight :dependencies :nvim-treesitter}
:iamcco/markdown-preview.nvim {:ft :markdown :run "cd app && yarn install"}
; :plasticboy/vim-markdown {:ft :markdown :config #(vim.cmd "
; let g:vim_markdown_fenced_languages = ['bash=sh','nix=nix']
; ")}
:Olical/conjure {:ft [:fennel :racket :cl]}
:wlangstroth/vim-racket {:opt true}
:vmchale/dhall-vim {:opt true}
:ziglang/zig.vim {:opt true}
:edwinb/idris2-vim {:opt true}
:shinKage/idris2-nvim {:ft :idris2 :requires :nui.nvim}
:udalov/kotlin-vim {:opt true}
:wlangstroth/vim-racket {:lazy true}
:vmchale/dhall-vim {:lazy true}
:ziglang/zig.vim {:lazy true}
:edwinb/idris2-vim {:lazy true}
:shinKage/idris2-nvim {:ft :idris2 :dependencies :nui.nvim}
:udalov/kotlin-vim {:lazy true}
:derekelkins/agda-vim {:ft :agda :config #(vim.api.nvim_command "let maplocalleader = \",\"")}
:LnL7/vim-nix {:opt true}
:LnL7/vim-nix {:lazy true}
:tikhomirov/vim-glsl {:ft :glsl}
:dag/vim-fish {:ft :fish}
:purescript-contrib/purescript-vim {:ft :purescript}
:eraserhd/parinfer-rust {:ft [:fennel :racket :scheme :lisp] :run (if (> (vim.fn.exists "/etc/nixos") 0) "nix-shell --run 'cargo build --release'" "cargo build --release")}
:eraserhd/parinfer-rust {:ft [:fennel :racket :scheme :lisp] :build (fn [] (if (> (vim.fn.exists "/nix/") 0) "nix-shell --run 'cargo build --release'" "cargo build --release"))}
; :gpanders/nvim-parinfer {:ft [:fennel :racket :scheme :lisp]}
:elkowar/yuck.vim {:ft :yuck}
; :elkowar/nvim-gehzu {:ft :fnl}
:vhyrro/neorg {:after [:nvim-cmp :nvim-treesitter] :ft :norg :require [:plenary.nvim] :config #(require :plugins.neorg)} ;:mod neorg}
; :vhyrro/neorg {:after [:nvim-cmp :nvim-treesitter] :ft :norg :require [:plenary.nvim] :config #(require :plugins.neorg)} ;:mod neorg}

:nvim-lua/lsp-status.nvim {:module :lsp-status}
:simrat39/symbols-outline.nvim {:opt true}
:scalameta/nvim-metals {:ft :scala :requires [:plenary.nvim :nvim-lspconfig]}
:simrat39/symbols-outline.nvim {:lazy true}
:scalameta/nvim-metals {:ft :scala :dependencies [:plenary.nvim :nvim-lspconfig]}
:onsails/lspkind-nvim {:module :lspkind}
:jamestthompson3/nvim-remote-containers {}
:esensar/nvim-dev-container {:config (fn [] ((. (require "devcontainer") :setup) {}))}
:neovim/nvim-lspconfig
{
:ft [:haskell :rust :typescript :javascript :lua :zig :go :c :cpp :typescriptreact :scala :nix :purescript :ocaml :idris2 :ps1 :java :python :kotlin :cs :ada]
:opt true
:requires [;FIXME change to use branch
{1 :mrcjkb/rustaceanvim :requires [:nvim-dap]}
:nvim-lua/lsp_extensions.nvim
:kosayoda/nvim-lightbulb
{1 :williamboman/mason.nvim :module :mason}
{1 :williamboman/mason-lspconfig.nvim :module :mason-lspconfig}
{1 :filipdutescu/renamer.nvim :branch :master :module :renamer :requires [:plenary.nvim]}
:which-key.nvim
{1 :ray-x/lsp_signature.nvim :module :lsp_signature}
:nvim-cmp
:jubnzv/virtual-types.nvim
:luasnip
{1 :hrsh7th/cmp-nvim-lsp :module :cmp_nvim_lsp}
:symbols-outline.nvim
:idris2-nvim]
:lazy true
:dependencies [;FIXME change to use branch
{1 :mrcjkb/rustaceanvim :dependencies [:nvim-dap]}
:nvim-lua/lsp_extensions.nvim
:kosayoda/nvim-lightbulb
{1 :williamboman/mason.nvim :module :mason}
{1 :williamboman/mason-lspconfig.nvim :module :mason-lspconfig}
{1 :filipdutescu/renamer.nvim :branch :master :module :renamer :dependencies [:plenary.nvim]}
:which-key.nvim
{1 :ray-x/lsp_signature.nvim :module :lsp_signature}
:nvim-cmp
:jubnzv/virtual-types.nvim
:luasnip
{1 :hrsh7th/cmp-nvim-lsp :module :cmp_nvim_lsp}
:symbols-outline.nvim
:idris2-nvim]
:config #(require "plugins.lsp")}
; :mod nvim_lsp}

; :karb94/neoscroll.nvim {:config #(. (require "neoscroll") :setup) }
:mfussenegger/nvim-dap {:ft [:rust :c :cpp] :opt true :config #(require :plugins.dap) :requires [{1 :rcarriga/nvim-dap-ui :module :dapui :requires [:nvim-neotest/nvim-nio]}]})
:mfussenegger/nvim-dap {:ft [:rust :c :cpp] :lazy true :config #(require :plugins.dap) :dependencies [{1 :rcarriga/nvim-dap-ui :module :dapui :dependencies [:nvim-neotest/nvim-nio]}]})

(when _G.packer_bootstrap
(vim.api.nvim_command "au! User PackerComplete :q! | lua vim.notify(\"Successfully bootstrapped\")")
((. (require "packer") :sync)))

2 changes: 1 addition & 1 deletion .config/nvim/fnl/plugins/feline.fnl
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@
(tset components.active 1
[
{
:provider " "
:provider " 󰊠 "
:left_sep [" " {:str " " :hl {:fg colors.cyan :bg :NONE}}]
:hl #{:bg colors.cyan
:style :bold
Expand Down
10 changes: 4 additions & 6 deletions .config/nvim/fnl/plugins/lsp.fnl
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,7 @@
autoload {idris2 idris2
lsp-signature lsp_signature
virtualtypes virtualtypes
renamer renamer
lsp lspconfig
renamer renamer lsp lspconfig
cmp_nvim_lsp cmp_nvim_lsp
a aniseed.core
nvim aniseed.nvim
Expand Down Expand Up @@ -147,7 +146,8 @@
(let [merged-opts (a.merge {: on_attach
: capabilities}
(or ?opts {}))
run-server #((. lsp lsp-name :setup) merged-opts)]
run-server #(vim.lsp.enable lsp-name)]
(vim.lsp.config lsp-name merged_opts)
(if merged_opts.fts
(let [fts merged_opts.fts]
(a.assoc merged_opts :fts)
Expand All @@ -174,9 +174,7 @@
(init-lsp :sumneko_lua {:fts :lua})
(init-lsp :clangd {:fts [:cpp :c] :init_options {:clangdFileStatus true} :handlers (lsp-status.extensions.clangd.setup)})
; (init-lsp :ccls {:fts [:cpp :c]})
(init-lsp :rnix {:fts :nix})
(au_ft_once :nix (fn []
((. lsp :rnix :setup) {: on_attach : capabilities})))
(init-lsp :nil_ls {:fts nil_ls})
(init-lsp :ocamlls {:fts :ocaml})
(init-lsp :pyright {:fts :python
:handlers (lsp-status.extensions.pyls_ms.setup)
Expand Down
2 changes: 1 addition & 1 deletion .config/nvim/fnl/plugins/neorg.fnl
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
"core.defaults" {} ; Load all the default modules
"core.norg.concealer" {} ; Allows for use of icons
:core.norg.completion {:config {:engine :nvim-cmp}}
"core.integrations.treesitter" {}
; "core.integrations.treesitter" {}
"core.norg.dirman" { ; Manage your directories with Neorg
:config {
:workspaces {
Expand Down
6 changes: 3 additions & 3 deletions .config/nvim/fnl/plugins/treesitter.fnl
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@
; :install_info {:url "~/packages/tree-sitter-agda"
; :files [:src/parser.c :src/scanner.cc]}
; :filetype :agda}})
(tset (parsers.get_parser_configs) :norg {
:install_info {:url "https://github.com/nvim-neorg/tree-sitter-norg" :files [:src/parser.c :src/scanner.cc] :branch :main}})
; (tset (parsers.get_parser_configs) :norg {
; :install_info {:url "https://github.com/nvim-neorg/tree-sitter-norg" :files [:src/parser.c :src/scanner.cc] :branch :main}}})
(set vim.wo.foldmethod "expr")
(set vim.wo.foldexpr "nvim_treesitter#foldexpr()")
(set vim.wo.foldlevel 1)
Expand All @@ -20,7 +20,7 @@
(if status res))])

(treesitter.setup {
:ensure_installed [:rust :haskell :javascript :c :fennel :go :zig :nix :cpp :bash :glsl :python :lua :toml :typescript :yaml :css :norg :kotlin :markdown :jsonc]
:ensure_installed [:rust :haskell :javascript :c :fennel :go :zig :nix :cpp :bash :glsl :python :lua :toml :typescript :yaml :css :kotlin :markdown :jsonc]
:highlight {
:enable true}
:autopairs {:enable true}
Expand Down
52 changes: 32 additions & 20 deletions .config/nvim/init.lua
Original file line number Diff line number Diff line change
@@ -1,31 +1,43 @@
local execute = vim.api.nvim_command
local fn = vim.fn
local pack_path = fn.stdpath("data") .. "/site/pack"
local fmt = string.format
function ensure (user, repo)
local install_path = fmt("%s/packer/start/%s", pack_path, repo, repo)
if fn.empty(fn.glob(install_path)) > 0 then
execute(fmt("!git clone https://github.com/%s/%s %s", user, repo, install_path))
if user == "wbthomason" and repo == "packer.nvim" then
packer_bootstrap = true
end
local packages_path = vim.fn.stdpath("data") .. "/lazy"

local function install_package(name, alias)
---@type unknown, unknown, string, string
local _, _, owner, repo = name:find("(.+)/(.+)")
local path = ("%s/%s"):format(packages_path, alias or repo)

if not vim.uv.fs_stat(path) then
vim.notify(("Installing %s/%s..."):format(owner, repo), vim.log.levels.INFO)

vim
.system({
"git",
"clone",
"--filter=blob:none",
"--single-branch",
("https://github.com/%s/%s.git"):format(owner, repo),
path,
})
:wait()
end
end

if fn.has("win32") > 0 then
-- vim.o.shellslash = true
vim.opt.runtimepath:prepend(path)
end
install_package("folke/lazy.nvim")
install_package("Olical/aniseed")
install_package("tsbohc/zest.nvim")



vim.g.mapleader = " "
vim.g.maplocalleader = "\\"



ensure("wbthomason", "packer.nvim")
ensure("Olical", "aniseed")
ensure("lewis6991","impatient.nvim")
ensure("tsbohc","zest.nvim")
--ensure("rktjmp","hotpot.nvim")
vim.loader.enable()
-- ensure("rktjmp","hotpot.nvim")
--
--
--require ("hotpot")
require "impatient"
require "zest".setup()

vim.o.termguicolors = true
Expand Down
Loading