-vim.opt.background = 'light'
+vim.g.statedir = vim.fn.expand("~/.local/state/nvim/")
+vim.g.mapleader = ";"
+vim.g.maplocalleader = ";"
-vim.keymap.set({'n', 'v', 'o', 'i'}, '<F2>', '<cmd>set invpaste<CR>')
+vim.g.netrw_home = vim.g.statedir .. "netrw"
-vim.call "plug#begin"
+vim.cmd.runtime("options.lua")
+vim.cmd.runtime("keymaps.lua")
+vim.cmd.runtime("style.vim")
+vim.cmd.runtime("emojis.vim")
-local Plug = vim.fn['plug#']
+vim.cmd("packadd! gnupg")
+
+vim.call("plug#begin")
+
+local Plug = vim.fn["plug#"]
-- My preferred colour scheme
-Plug 'wimstefan/vim-artesanal'
+Plug("wimstefan/vim-artesanal")
+
+-- Git operations from within files
+Plug("tpope/vim-fugitive")
+
+-- Detect tabstop and shiftwidth automatically
+Plug("tpope/vim-sleuth")
+
+-- Markdown support, which requires tabular.
+Plug("godlygeek/tabular")
+Plug("preservim/vim-markdown")
+
+-- ExplainPattern to visualise/help with Vim regular expressions
+Plug("Houl/ExplainPattern-vim")
+
+-- Remember the last editing position
+Plug("farmergreg/vim-lastplace")
+
+Plug("neovim/nvim-lspconfig")
+Plug("dense-analysis/ale")
+
+vim.call("plug#end")
function hasPlug(plugin)
- return vim.g.plugs[plugin] ~= nil
+ return vim.g.plugs[plugin] ~= nil
end
-vim.call "plug#end"
-
function prequire(m)
- local ok, err = pcall(require, m)
- if not ok then return nil, err end
- return err
+ local ok, err = pcall(require, m)
+ if not ok then
+ return nil, err
+ end
+ return err
end