rm a few files
[wiki.git] / nwiz.lua
diff --git a/nwiz.lua b/nwiz.lua
deleted file mode 100644 (file)
index 31a1af1..0000000
--- a/nwiz.lua
+++ /dev/null
@@ -1,346 +0,0 @@
---
--- “This is the editor of a Real Coder.
---  Not as clumsy as a full blown IDE.
---  An elegant editor for a more civilized age.”
---    ― Bernie Innocenti, https://codewiz.org
---
-
--- Set this to replace GitHub default URLs
--- local github_url = 'https://github.com/'
-local github_url = 'git@github.com:'
-
--- Bootstrap Packer if not already installed
-local fn = vim.fn
-local install_path = fn.stdpath('data')..'/site/pack/packer/start/packer.nvim'
-if fn.empty(fn.glob(install_path)) > 0 then
-  local packer_url = github_url .. "wbthomason/packer.nvim"
-  print("Bootstrapping packer from ", packer_url)
-  packer_bootstrap = fn.system({'git', 'clone', '--depth', '1', packer_url, install_path})
-end
-
-require('packer').startup({function(use)
-  use 'wbthomason/packer.nvim'
-  use { 'nvim-treesitter/nvim-treesitter',
-        run = function() require('nvim-treesitter.install').update({ with_sync = true }) end, }
-  use { 'nvim-telescope/telescope.nvim', requires = { {'nvim-lua/plenary.nvim'} } }
-  use { 'nvim-lualine/lualine.nvim', requires = { 'kyazdani42/nvim-web-devicons', opt = true } }
-  use { 'kyazdani42/nvim-tree.lua', requires = { 'kyazdani42/nvim-web-devicons', }, tag = 'nightly' }
-  use 'dstein64/nvim-scrollview'
-
-  use 'neovim/nvim-lspconfig'
-  use 'hrsh7th/cmp-nvim-lsp'
-  use 'hrsh7th/cmp-buffer'
-  use 'hrsh7th/cmp-path'
-  use 'hrsh7th/cmp-cmdline'
-  use 'hrsh7th/nvim-cmp'
-  use 'hrsh7th/cmp-vsnip'
-  use 'hrsh7th/vim-vsnip'
-  -- use 'hrsh7th/cmp-nvim-lsp-signature-help'
-  use "ray-x/lsp_signature.nvim"
-
-  if packer_bootstrap then
-    -- FIXME: this runs asynchronously, causing the rest of the
-    --        lua script to fail on first run
-    require('packer').sync()
-  end
-end,
-config = {
-  git = { default_url_format = github_url .. '%s.git' }
-}})
-
--- nvim-treesitter --
-
-if github_url ~= nil then
-  -- Replace GitHub url for all treesitter plugins
-  for _, config in pairs(require("nvim-treesitter.parsers").get_parser_configs()) do
-    config.install_info.url = config.install_info.url:gsub("https://github.com/", github_url)
-  end
-end
-
-require("nvim-treesitter.install").prefer_git = true
-require("nvim-treesitter.configs").setup {
-  highlight = {
-    enable = true,
-  },
-}
-
-local opts = { noremap=true, silent=true }
-local map = vim.api.nvim_set_keymap
-
-require("telescope").setup()
-map('n', '<C-p>', '<cmd>Telescope git_files<cr>', opts)
-map('n', 'ff', '<cmd>Telescope find_files<cr>', opts)
-map('n', 'fg', '<cmd>Telescope live_grep<cr>', opts)
-map('n', 'fb', '<cmd>Telescope buffers<cr>', opts)
-map('n', 'fh', '<cmd>Telescope help_tags<cr>', opts)
-
-require("nvim-tree").setup()
-map('n', 'o', ':NvimTreeFocus<CR>', opts)
-map('n', '<S-o>', ':NvimTreeClose<CR>', opts)
-map('n', '<C-o>', ':NvimTreeFindFile<CR>', opts)
-
-require('lualine').setup {
-  options = {
-    theme = 'codedark',
-    section_separators = { left = '', right = '' },
-    component_separators = { left = '', right = '' },
-    -- section_separators = '', component_separators = '',
-    show_filename_only = false,
-    globalstatus = false,
-  },
-  sections = {
-    lualine_a = {
-      { 'mode', fmt = function(str) return str:sub(1,1) end }
-    },
-    lualine_b = {
-      { 'branch', fmt = function(branch) return branch == 'master' and '' or branch end },
-    },
-    lualine_c = {
-      { 'filename', path = 1, },
-    },
-    lualine_x = {
-      { 'filetype', icon_only = true, },
-    },
-    lualine_y = {},
-  },
-}
-
--- nvim-cmp --
-
-local kind_icons = {
-  Text = "",
-  Method = "",
-  Function = "",
-  Constructor = "",
-  Field = "",
-  Variable = "",
-  Class = "ﴯ",
-  Interface = "",
-  Module = "",
-  Property = "ﰠ",
-  Unit = "",
-  Value = "",
-  Enum = "",
-  Keyword = "",
-  Snippet = "",
-  Color = "",
-  File = "",
-  Reference = "",
-  Folder = "",
-  EnumMember = "",
-  Constant = "",
-  Struct = "",
-  Event = "",
-  Operator = "",
-  TypeParameter = ""
-}
-
-local has_words_before = function()
-  local line, col = unpack(vim.api.nvim_win_get_cursor(0))
-  return col ~= 0 and vim.api.nvim_buf_get_lines(0, line - 1, line, true)[1]:sub(col, col):match("%s") == nil
-end
-
-local feedkey = function(key, mode)
-  vim.api.nvim_feedkeys(vim.api.nvim_replace_termcodes(key, true, true, true), mode, true)
-end
-
-local cmp = require'cmp'
-cmp.setup({
-  -- view  = { entries = "native" },
-  formatting = {
-    fields = {
-      "kind",
-      "abbr",
-      "menu",
-    },
-    format = function(entry, vim_item)
-      vim_item.kind = kind_icons[vim_item.kind]
-      local max_width = 25
-      if vim_item.menu ~= nil and string.len(vim_item.menu) > max_width then
-        vim_item.menu = string.sub(vim_item.menu, 1, max_width - 1) .. "…"
-      end
-      return vim_item
-    end,
-  },
-  snippet = {
-    -- REQUIRED - you must specify a snippet engine
-    expand = function(args)
-      vim.fn["vsnip#anonymous"](args.body) -- For `vsnip` users.
-    end,
-  },
-  mapping = cmp.mapping.preset.insert({
-    ['<C-b>'] = cmp.mapping(cmp.mapping.scroll_docs(-4), { 'i', 'c' }),
-    ['<C-f>'] = cmp.mapping(cmp.mapping.scroll_docs(4), { 'i', 'c' }),
-    ['<C-Space>'] = cmp.mapping(cmp.mapping.complete(), { 'i', 'c' }),
-    ['<C-y>'] = cmp.config.disable, -- Specify `cmp.config.disable` if you want to remove the default `<C-y>` mapping.
-    ['<C-e>'] = cmp.mapping({
-      i = cmp.mapping.abort(),
-      c = cmp.mapping.close(),
-    }),
-    ['<CR>'] = cmp.mapping.confirm({ select = true }),
-
-    ["<Tab>"] = cmp.mapping(function(fallback)
-      if cmp.visible() then
-        cmp.select_next_item()
-      elseif vim.fn["vsnip#available"](1) == 1 then
-        feedkey("<Plug>(vsnip-expand-or-jump)", "")
-      elseif has_words_before() then
-        cmp.complete()
-      else
-        fallback() -- Sends a already mapped key. In this case, it's probably `<Tab>`.
-      end
-    end, { "i", "s" }),
-
-    ["<S-Tab>"] = cmp.mapping(function()
-      if cmp.visible() then
-        cmp.select_prev_item()
-      elseif vim.fn["vsnip#jumpable"](-1) == 1 then
-        feedkey("<Plug>(vsnip-jump-prev)", "")
-      end
-    end, { "i", "s" }),
-  }),
-  sources = cmp.config.sources({
-    { name = 'nvim_lsp' },
-    -- { name = 'nvim_lsp_signature_help', },
-  }, {
-    { name = 'vsnip' },
-    -- { name = 'buffer' },
-  })
-})
-
--- cmp.setup.cmdline('/', {
---  mapping = cmp.mapping.preset.cmdline(),
---  completion = {
---    keyword_length = 2,
---  },
---  sources = {
---    { name = 'buffer' }
---  }
---})
-
-cmp.setup.cmdline(':', {
-  mapping = cmp.mapping.preset.cmdline(),
-  completion = {
-    keyword_length = 2,
-  },
-  sources = cmp.config.sources({
-    { name = 'path' }
-  }, {
-    { name = 'cmdline' }
-  })
-})
-
-
-local capabilities = vim.lsp.protocol.make_client_capabilities()
-capabilities = require('cmp_nvim_lsp').update_capabilities(capabilities)
-
--- Disable snippets support for rust-analyzer because it spams the completion
-capabilities.textDocument.completion.completionItem.snippetSupport = false
--- print(vim.inspect(capabilities))
-
--- lsp-config --
-
--- vim.lsp.set_log_level("debug")
-vim.diagnostic.config({
-  underline = true,
-  virtual_text = false,
-  update_in_insert = false,
-  float = {
-    focusable = false,
-    style = 'minimal',
-    border = 'rounded',
-    source = 'always',
-    header = '',
-    prefix = '',
-  }
-})
-
-local on_attach = function(client, bufnr)
-  local function buf_set_keymap(...) vim.api.nvim_buf_set_keymap(bufnr, ...) end
-  local function buf_set_option(...) vim.api.nvim_buf_set_option(bufnr, ...) end
-
-  buf_set_option("formatexpr", "v:lua.vim.lsp.formatexpr()")
-  buf_set_option("omnifunc", "v:lua.vim.lsp.omnifunc")
-  buf_set_option("tagfunc", "v:lua.vim.lsp.tagfunc")
-
-  vim.opt.completeopt = {"menu", "menuone", "noinsert"}
-
-  require "lsp_signature".on_attach({
-    hi_parameter = "IncSearch"
-  })
-
-  local opts = { noremap=true, silent=true }
-  -- See `:help vim.lsp.*` for documentation on any of the below functions
-  buf_set_keymap('n', 'gD', '<Cmd>lua vim.lsp.buf.declaration()<CR>', opts)
-  buf_set_keymap('n', '<C-]>', '<Cmd>lua vim.lsp.buf.declaration()<CR>', opts)
-  buf_set_keymap('n', 'gd', '<Cmd>lua vim.lsp.buf.definition()<CR>', opts)
-  buf_set_keymap('n', 'K',  '<Cmd>lua vim.lsp.buf.hover()<CR>', opts)
-  buf_set_keymap('n', 'gi', '<cmd>lua vim.lsp.buf.implementation()<CR>', opts)
-  buf_set_keymap('n', '<C-k>', '<cmd>lua vim.lsp.buf.signature_help()<CR>', opts)
-  buf_set_keymap('n', '<space>wa', '<cmd>lua vim.lsp.buf.add_workspace_folder()<CR>', opts)
-  buf_set_keymap('n', '<space>wr', '<cmd>lua vim.lsp.buf.remove_workspace_folder()<CR>', opts)
-  buf_set_keymap('n', '<space>wl', '<cmd>lua print(vim.inspect(vim.lsp.buf.list_workspace_folders()))<CR>', opts)
-  buf_set_keymap('n', '<space>D', '<cmd>lua vim.lsp.buf.type_definition()<CR>', opts)
-  buf_set_keymap('n', '<space>rn', '<cmd>lua vim.lsp.buf.rename()<CR>', opts)
-  buf_set_keymap('n', '<space>ca', '<cmd>lua vim.lsp.buf.code_action()<CR>', opts)
-  buf_set_keymap('n', 'gr', '<cmd>lua vim.lsp.buf.references()<CR>', opts)
-
-  buf_set_keymap('n', '<space>e', '<cmd>lua vim.diagnostic.open_float()<CR>', opts)
-  buf_set_keymap('n', '<space>q', '<cmd>lua vim.diagnostic.setloclist()<CR>', opts)
-  buf_set_keymap('n', '[d', '<cmd>lua vim.diagnostic.goto_prev()<CR>', opts)
-  buf_set_keymap('n', ']d', '<cmd>lua vim.diagnostic.goto_next()<CR>', opts)
-
-  buf_set_keymap('n', "=", "<cmd>lua vim.lsp.buf.formatting()<CR>", opts)
-  buf_set_keymap('v', "=", "<cmd>lua vim.lsp.buf.formatting()<CR>", opts)
-  buf_set_keymap('n', "gq", "<cmd>lua vim.lsp.buf.formatting()<CR>", opts)
-  buf_set_keymap('v', "gq", "<cmd>lua vim.lsp.buf.formatting()<CR>", opts)
-end
-
-local lspconfig = require'lspconfig';
-lspconfig.rust_analyzer.setup{
-  on_attach = on_attach,
-  capabilities = capabilities,
-}
-lspconfig.tsserver.setup{
-  on_attach = on_attach,
-  capabilities = capabilities,
-}
-lspconfig.clangd.setup{
-  on_attach = on_attach,
-  capabilities = capabilities,
-  -- cmd = { vim.loop.os_homedir() .. "clangd", "--background-index" },
-  cmd = { "clangd", "--background-index" },
-  root_dir = lspconfig.util.root_pattern("compile_commands.json", "compile_flags.txt"),
-}
-lspconfig.pylsp.setup{
-  on_attach = on_attach,
-  capabilities = capabilities,
-  settings = {
-    pylsp = {
-      configurationSources = {"pylint"},
-      plugins = {
-        autopep8 = { enabled = true },
-        mypy = { enabled = true },
-        pylint = { enabled = true },
-        flake8 = { enabled = false },
-        pycodestyle = { enabled = false },
-        pyflakes = { enabled = false },
-      }
-    }
-  }
-}
-
--- Alt-key window navication and more
-map('t', '<A-h>', '<C-\\><C-n>h', opts)
-map('t', '<A-j>', '<C-\\><C-n>j', opts)
-map('t', '<A-k>', '<C-\\><C-n>k', opts)
-map('t', '<A-l>', '<C-\\><C-n>l', opts)
-map('i', '<A-h>', '<C-\\><C-n>h', opts)
-map('i', '<A-j>', '<C-\\><C-n>j', opts)
-map('i', '<A-k>', '<C-\\><C-n>k', opts)
-map('i', '<A-l>', '<C-\\><C-n>l', opts)
-map('n', '<A-h>', '<C-w>h', opts)
-map('n', '<A-j>', '<C-w>j', opts)
-map('n', '<A-k>', '<C-w>k', opts)
-map('n', '<A-l>', '<C-w>l', opts)
-