vim.g.statedir = vim.fn.expand("~/.local/state/nvim/")
-vim.g.mapleader = ';'
-vim.g.maplocalleader = ';'
+vim.g.mapleader = ";"
+vim.g.maplocalleader = ";"
vim.g.netrw_home = vim.g.statedir .. "netrw"
-vim.cmd.runtime 'options.lua'
-vim.cmd.runtime 'keymaps.lua'
-vim.cmd.runtime 'style.vim'
-vim.cmd.runtime 'emojis.vim'
+vim.cmd.runtime("options.lua")
+vim.cmd.runtime("keymaps.lua")
+vim.cmd.runtime("style.vim")
+vim.cmd.runtime("emojis.vim")
-vim.cmd 'packadd! gnupg'
+vim.cmd("packadd! gnupg")
-vim.call "plug#begin"
+vim.call("plug#begin")
-local Plug = vim.fn['plug#']
+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'
+Plug("tpope/vim-fugitive")
-- Detect tabstop and shiftwidth automatically
-Plug 'tpope/vim-sleuth'
+Plug("tpope/vim-sleuth")
-- Markdown support, which requires tabular.
-Plug 'godlygeek/tabular'
-Plug 'preservim/vim-markdown'
+Plug("godlygeek/tabular")
+Plug("preservim/vim-markdown")
-vim.call "plug#end"
+-- 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
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