-- Case insensitive searching UNLESS /C or capital in search vim.o.ignorecase = true vim.o.smartcase = true -- Copy to clipboard local has_unnamedplus = vim.fn.has("unnamedplus") if has_unnamedplus then vim.o.clipboard = "unnamedplus" end vim.api.nvim_buf_set_keymap(0, 'n', 'y', '"+y', { noremap = true, silent = true }) vim.api.nvim_buf_set_keymap(0, 'n', 'p', '"+p', { noremap = true, silent = true }) local function set_json_filetype() if string.match(vim.api.nvim_buf_get_name(0), '%.geojson$') or string.match(vim.api.nvim_buf_get_name(0), '%.json$') then -- vim.filetype('json') vim.api.nvim_buf_set_option(0, 'filetype', 'json') end end vim.api.nvim_create_autocmd({ "BufReadPost" }, { pattern = { "*.geojson", "*.bson" }, callback = set_json_filetype }) function Format() vim.lsp.buf.format(nil, 100) end vim.api.nvim_create_autocmd({ "BufWritePre" }, { pattern = { "*" }, callback = Format }) function Macos() return vim.fn.has("mac") == 1 end function Linux() if package.os == 'Linux' then return true end if vim.fn.has('unix') and not vim.fn.has('macunix') and not vim.fn.has('win32unix') and not vim.fn.has('win64unix') then return true end return false end function Windows() return vim.fn.has("win32") == 1 or vim.fn.has("win64") == 1 end function OpenBuffer() if Macos() then vim.cmd('silent !open ' .. vim.fn.expand('%:p')) -- vim.cmd('silent !open -a "Google Chrome" ' .. vim.fn.expand('%:p')) elseif Linux() then vim.cmd('silent !xdg-open ' .. vim.fn.expand('%:p')) elseif Windows() then vim.cmd('silent !start ' .. vim.fn.expand('%:p')) end end vim.keymap.set("n", "vob", OpenBuffer, { noremap = true }) -- vim.keymap.set("n", "e", vim.lsp.diagnostic.show_line_diagnostics, { noremap = true, silent = true }) -- local function prettify_json() vim.api.nvim_command('%!jq .') end local function uglify_json() vim.api.nvim_command("%!jq -c .") end vim.keymap.set("n", "jq", prettify_json, { noremap = true }) vim.keymap.set("n", "ujq", uglify_json, { noremap = true }) return {}