diff --git a/UltiSnips/html.snippets b/UltiSnips/html.snippets
index 1b903fc..9716b58 100644
--- a/UltiSnips/html.snippets
+++ b/UltiSnips/html.snippets
@@ -17,3 +17,37 @@ endsnippet
snippet >> "Line break / closing tag"
${1:br}>$0
endsnippet
+
+snippet ,m "Inline math mode"
+$0
+endsnippet
+
+snippet ;M "Block formula"
+$0
+endsnippet
+
+snippet figure "A figure (typically SVG) with caption."
+
+ <${2:svg}>
+ $3
+ `!p snip.rv = t[2].split(" ")[0]`>
+ $1
+
+$0
+endsnippet
+
+snippet line "SVG: line"
+$0
+endsnippet
+
+snippet circle "SVG: circle"
+$0
+endsnippet
+
+snippet desc "SVG: description"
+$1$0
+endsnippet
diff --git a/lua/explorer.lua b/lua/explorer.lua
new file mode 100644
index 0000000..a40b207
--- /dev/null
+++ b/lua/explorer.lua
@@ -0,0 +1,202 @@
+require("oil").setup({
+ 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 = {
+ -- Enable or disable LSP file operations
+ enabled = true,
+ -- 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
+ watch_for_changes = true,
+ -- 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.",
+ -- it will use the mapping at require("oil.actions").
+ -- Set to `false` to remove a keymap
+ -- See :help oil-actions for a list of all available actions
+ keymaps = {
+ ["g?"] = { "actions.show_help", mode = "n" },
+ [""] = "actions.select",
+ [""] = { "actions.select", opts = { vertical = true } },
+ [""] = { "actions.select", opts = { horizontal = true } },
+ [""] = { "actions.select", opts = { tab = true } },
+ [""] = "actions.preview",
+ [""] = { "actions.close", mode = "n" },
+ [""] = "actions.refresh",
+ ["-"] = { "actions.parent", mode = "n" },
+ ["_"] = { "actions.open_cwd", mode = "n" },
+ ["`"] = { "actions.cd", mode = "n" },
+ ["g~"] = { "actions.cd", opts = { scope = "tab" }, mode = "n" },
+ ["gs"] = { "actions.change_sort", mode = "n" },
+ ["gx"] = "actions.open_external",
+ ["g."] = { "actions.toggle_hidden", mode = "n" },
+ ["g\\"] = { "actions.toggle_trash", mode = "n" },
+ },
+ -- 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)
+ local m = name:match("^%.")
+ return m ~= nil
+ 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 with numbers in a more intuitive order for humans.
+ -- Can be "fast", true, or false. "fast" will turn it off for large directories.
+ natural_order = "fast",
+ -- Sort file and directory names case insensitive
+ case_insensitive = false,
+ sort = {
+ -- sort order can be "asc" or "desc"
+ -- see :help oil-columns to see which columns are sortable
+ { "type", "asc" },
+ { "name", "asc" },
+ },
+ -- Customize the highlight group for the file name
+ highlight_filename = function(entry, is_hidden, is_link_target, is_link_orphan)
+ return nil
+ end,
+ },
+ -- Extra arguments to pass to SCP when moving/copying files over SSH
+ extra_scp_args = {},
+ -- Extra arguments to pass to aws s3 when creating/deleting/moving/copying files using aws s3
+ extra_s3_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 and max_height can be integers or a float between 0 and 1 (e.g. 0.4 for 40%)
+ max_width = 0,
+ max_height = 0,
+ border = nil,
+ win_options = {
+ winblend = 0,
+ },
+ -- optionally override the oil buffers window title with custom function: fun(winid: integer): string
+ get_win_title = nil,
+ -- preview_split: Split direction: "auto", "left", "right", "above", "below".
+ preview_split = "auto",
+ -- 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 file preview window
+ preview_win = {
+ -- Whether the preview window is automatically updated when the cursor is moved
+ update_on_cursor_moved = true,
+ -- How to open the preview window "load"|"scratch"|"fast_scratch"
+ preview_method = "fast_scratch",
+ -- A function that returns true to disable preview on a file e.g. to avoid lag
+ disable_preview = function(filename)
+ return false
+ end,
+ -- Window-local options to use for preview window buffers
+ win_options = {},
+ },
+ -- Configuration for the floating action confirmation window
+ confirmation = {
+ -- 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 = nil,
+ win_options = {
+ winblend = 0,
+ },
+ },
+ -- 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 = nil,
+ minimized_border = "none",
+ win_options = {
+ winblend = 0,
+ },
+ },
+ -- Configuration for the floating SSH window
+ ssh = {
+ border = nil,
+ },
+ -- Configuration for the floating keymaps help window
+ keymaps_help = {
+ border = nil,
+ },
+})
diff --git a/lua/linterconfiguration.lua b/lua/linterconfiguration.lua
index fdec47f..2bc291c 100644
--- a/lua/linterconfiguration.lua
+++ b/lua/linterconfiguration.lua
@@ -26,6 +26,7 @@ local fixers = {
pascal = { "ptop" },
haskell = { "fourmolu" },
rust = { "rustfmt" },
+ html = { "prettier", "html-beautify" },
}
vim.g.ale_linters = linters
diff --git a/lua/navigation.lua b/lua/navigation.lua
index f82664a..c3657ca 100644
--- a/lua/navigation.lua
+++ b/lua/navigation.lua
@@ -2,10 +2,6 @@
vim.keymap.set("n", "", ":bdelete")
vim.keymap.set("n", "", ":BufstopFast")
--- NERDTree Config
-vim.g.NERDTreeShowHidden = 1
-vim.keymap.set("n", "", ":NERDTreeToggle")
-
-- Telescope snippet
local builtin = require("telescope.builtin")
vim.keymap.set("n", "ff", builtin.find_files, {})
diff --git a/lua/plugconfig.lua b/lua/plugconfig.lua
index acd3f27..5693403 100644
--- a/lua/plugconfig.lua
+++ b/lua/plugconfig.lua
@@ -25,6 +25,9 @@ require("pascal_mode")
-- Ada mode (supported by plugins)
require("ada_mode")
+-- Explorer (oil)
+require("explorer")
+
-- Markdown Preview
vim.g.mkdp_auto_start = 0
vim.g.mkdp_browser = "epiphany"
@@ -56,4 +59,4 @@ vim.g.gitblame_date_format = "%r"
vim.keymap.set("n", "", ":FloatermNew --height=0.9 --width=0.9 --wintype=float --name=terminal ")
-- Set default colorscheme
-vim.cmd("colo synthweave")
+vim.cmd("colo vim-monokai-tasty")
diff --git a/lua/plugins.lua b/lua/plugins.lua
index 99e2819..87fd43b 100644
--- a/lua/plugins.lua
+++ b/lua/plugins.lua
@@ -9,8 +9,6 @@ return {
"voldikss/vim-floaterm",
-- Navigation
- "preservim/nerdtree",
- "Xuyuanp/nerdtree-git-plugin",
"mihaifm/bufstop",
{
"nvim-telescope/telescope-fzf-native.nvim",
@@ -19,12 +17,22 @@ return {
{ "tzachar/fuzzy.nvim", requires = { "nvim-telescope/telescope-fzf-native.nvim" } },
"fhill2/telescope-ultisnips.nvim",
"preservim/tagbar",
+ {
+ "stevearc/oil.nvim",
+ ---@module 'oil'
+ ---@type oil.SetupOpts
+ opts = {},
+ -- Optional dependencies
+ dependencies = { { "nvim-mini/mini.icons", opts = {} } },
+ -- dependencies = { "nvim-tree/nvim-web-devicons" }, -- use if you prefer nvim-web-devicons
+ -- Lazy loading is not recommended because it is very tricky to make it work correctly in all situations.
+ lazy = false,
+ },
-- Visuals
"vim-airline/vim-airline",
"vim-airline/vim-airline-themes",
"ryanoasis/vim-devicons",
- "tiagofumo/vim-nerdtree-syntax-highlight",
{
"nvim-telescope/telescope.nvim",
tag = "0.1.5",
@@ -126,7 +134,12 @@ return {
{ "wT", "lua require('neowiki').open_wiki_new_tab()", desc = "Open Wiki in Tab" },
},
},
-
+ {
+ "brianhuster/live-preview.nvim",
+ dependencies = {
+ "nvim-telescope/telescope.nvim",
+ },
+ },
-- Lean
{
"Julian/lean.nvim",