From 4586b3cf7114f056c0f137b4a76823fb1fd7fced Mon Sep 17 00:00:00 2001 From: Max Date: Tue, 26 Jul 2022 19:55:09 +0200 Subject: [PATCH] feat: add tabnine --- configs/nvim/lua/configs/autocomplete.lua | 162 ++++++++++++---------- configs/nvim/lua/configs/lsp.lua | 4 +- configs/nvim/lua/core/plugins.lua | 1 + configs/waybar/config | 2 +- configs/waybar/scripts/nohup.out | 29 ++++ configs/waybar/scripts/power-profile | 2 +- 6 files changed, 121 insertions(+), 79 deletions(-) create mode 100644 configs/waybar/scripts/nohup.out diff --git a/configs/nvim/lua/configs/autocomplete.lua b/configs/nvim/lua/configs/autocomplete.lua index 0445f28..4ef0bf8 100644 --- a/configs/nvim/lua/configs/autocomplete.lua +++ b/configs/nvim/lua/configs/autocomplete.lua @@ -4,95 +4,109 @@ local luasnip = require "luasnip" local cmp = require "cmp" local cmp_autopairs = require("nvim-autopairs.completion.cmp") +local tabnine = require('cmp_tabnine.config') +tabnine:setup({ + max_lines = 1000; + max_num_results = 20; + sort = true; + run_on_every_keystroke = true; + snippet_placeholder = '..'; + ignored_file_types = { -- default is not to ignore + -- uncomment to ignore in lua: + -- lua = true + }; + show_prediction_strength = false; +}) + cmp.setup { - -- formatting = { - -- format = lspkind.cmp_format( - -- { - -- with_text = true, - -- menu = ({ - -- buffer = "[Buffer]", - -- nvim_lsp = "[LSP]", - -- luasnip = "[LuaSnip]", - -- nvim_lua = "[Lua]", - -- latex_symbols = "[Latex]" - -- }) - -- } - -- ) - -- }, - experimental = { - ghost_text = true - }, - completion = { - completeopt = "menu,menuone" - }, - snippet = { - expand = function(args) - luasnip.lsp_expand(args.body) - end - }, - mapping = { - [""] = cmp.mapping.complete(), - [""] = function(fallback) - if cmp.visible() then - cmp.select_next_item() - else - fallback() - end - end, - [""] = function(fallback) - if cmp.visible() then - cmp.select_prev_item() - else - fallback() - end - end, - [""] = cmp.mapping.confirm( - { - behavior = cmp.ConfirmBehavior.Replace, - select = true - } - ) - }, - sources = { - {name = "nvim_lua"}, - {name = "nvim_lsp"}, - {name = "luasnip"}, - {name = "path"}, - {name = "buffer"}, - {name = "calc"} - } + -- formatting = { + -- format = lspkind.cmp_format( + -- { + -- with_text = true, + -- menu = ({ + -- buffer = "[Buffer]", + -- nvim_lsp = "[LSP]", + -- luasnip = "[LuaSnip]", + -- nvim_lua = "[Lua]", + -- latex_symbols = "[Latex]" + -- }) + -- } + -- ) + -- }, + experimental = { + ghost_text = true + }, + completion = { + completeopt = "menu,menuone" + }, + snippet = { + expand = function(args) + luasnip.lsp_expand(args.body) + end + }, + mapping = { + [""] = cmp.mapping.complete(), + [""] = function(fallback) + if cmp.visible() then + cmp.select_next_item() + else + fallback() + end + end, + [""] = function(fallback) + if cmp.visible() then + cmp.select_prev_item() + else + fallback() + end + end, + [""] = cmp.mapping.confirm( + { + behavior = cmp.ConfirmBehavior.Replace, + select = true + } + ) + }, + sources = { + { name = "nvim_lua" }, + { name = "nvim_lsp" }, + { name = "luasnip" }, + { name = "path" }, + { name = "buffer" }, + { name = "calc" } + } } -- Use buffer source for `/` (if you enabled `native_menu`, this won't work anymore). cmp.setup.cmdline( - "/", - { - sources = { - {name = "buffer"} - } + "/", + { + sources = { + { name = "buffer" } } + } ) -- Use cmdline & path source for ':' (if you enabled `native_menu`, this won't work anymore). cmp.setup.cmdline( - ":", - { - sources = cmp.config.sources( - { - {name = "path"} - }, - { - {name = "cmdline"} - } - ) - } + ":", + { + sources = cmp.config.sources( + { + { name = "path" } + }, + { + { name = "cmdline" } + } + ) + } ) -- The nvim-cmp almost supports LSP's capabilities so You should advertise it to LSP servers.. -- Setup lspconfig. local capabilities = require("cmp_nvim_lsp").update_capabilities(vim.lsp.protocol.make_client_capabilities()) require "lspconfig".html.setup { - capabilities = capabilities + capabilities = capabilities } -cmp.event:on("confirm_done", cmp_autopairs.on_confirm_done({map_char = {tex = ""}})) +cmp.event:on("confirm_done", cmp_autopairs.on_confirm_done({ map_char = { tex = "" } })) diff --git a/configs/nvim/lua/configs/lsp.lua b/configs/nvim/lua/configs/lsp.lua index 5d49fb0..365d17d 100644 --- a/configs/nvim/lua/configs/lsp.lua +++ b/configs/nvim/lua/configs/lsp.lua @@ -11,13 +11,11 @@ table.insert(runtime_path, "lua/?/init.lua") local function on_attach(client, bufnr) local cap = client.server_capabilities - - vim.notify(client.name) - if (cap.documentFormattingProvider) then vim.api.nvim_create_autocmd("BufWritePre", { buffer = bufnr, callback = function() + vim.lsp.buf.format(); if client.name == 'tsserver' or client.name == "svelte" then diff --git a/configs/nvim/lua/core/plugins.lua b/configs/nvim/lua/core/plugins.lua index 1ee8fd3..954a41c 100644 --- a/configs/nvim/lua/core/plugins.lua +++ b/configs/nvim/lua/core/plugins.lua @@ -61,6 +61,7 @@ return packer.startup(function(use) use "tpope/vim-surround" use "neovim/nvim-lspconfig" use "hrsh7th/nvim-cmp" + use { 'tzachar/cmp-tabnine', run = './install.sh', requires = 'hrsh7th/nvim-cmp' } use "hrsh7th/cmp-nvim-lsp" use "hrsh7th/cmp-path" use "hrsh7th/cmp-calc" diff --git a/configs/waybar/config b/configs/waybar/config index 2f1c6a8..05245ea 100644 --- a/configs/waybar/config +++ b/configs/waybar/config @@ -85,7 +85,7 @@ "format-ethernet": "{ipaddr}/{cidr} ", "tooltip-format": "{ifname} via {gwaddr} ", "format-linked": "{ifname} (No IP) ", - "format-disconnected": "Disconnected ⚠", + "format-disconnected": "⚠", "format-alt": "{ifname}: {ipaddr}/{cidr}" }, "pulseaudio": { diff --git a/configs/waybar/scripts/nohup.out b/configs/waybar/scripts/nohup.out new file mode 100644 index 0000000..617b600 --- /dev/null +++ b/configs/waybar/scripts/nohup.out @@ -0,0 +1,29 @@ +[2022-07-06 12:54:31.514] [info] Using configuration file /home/max/.config/waybar/config +[2022-07-06 12:54:31.515] [info] Using CSS file /home/max/.config/waybar/style.css +[2022-07-06 12:54:31.562] [info] config update for bar-0: id bar-0, mode dock, hidden_state hide +[2022-07-06 12:54:31.565] [warning] As using a timezone, some format args may be missing as the date library haven't got a release since 2018. +[2022-07-06 12:54:31.594] [warning] Waybar has been built without rfkill support. + +** (waybar:7369): WARNING **: 12:54:31.720: gtk-layer-shell v0.7.0 may not work on GTK v3.24.34. If you experience crashes, check https://github.com/wmww/gtk-layer-shell/blob/master/compatibility.md +[2022-07-06 12:54:31.842] [warning] Requested height: 20 is less than the minimum height: 40 required by the modules +[2022-07-06 12:54:31.842] [info] Bar configured (width: 1920, height: 40) for output: eDP-1 +Failed to communicate with power-profiles-daemon: g-dbus-error-quark: GDBus.Error:org.freedesktop.DBus.Error.AccessDenied: Not Authorized: net.hadess.PowerProfiles.switch-profile (9) +🐢 +[2022-07-06 12:58:10.903] [info] Using configuration file /home/max/.config/waybar/config +[2022-07-06 12:58:10.910] [info] Using CSS file /home/max/.config/waybar/style.css +[2022-07-06 12:58:10.917] [info] config update for bar-0: id bar-0, mode dock, hidden_state hide +[2022-07-06 12:58:10.918] [warning] As using a timezone, some format args may be missing as the date library haven't got a release since 2018. +[2022-07-06 12:58:10.927] [warning] Waybar has been built without rfkill support. + +** (waybar:1557): WARNING **: 12:58:10.947: gtk-layer-shell v0.7.0 may not work on GTK v3.24.34. If you experience crashes, check https://github.com/wmww/gtk-layer-shell/blob/master/compatibility.md +[2022-07-06 12:58:10.962] [warning] Requested height: 20 is less than the minimum height: 40 required by the modules +[2022-07-06 12:58:10.962] [info] Bar configured (width: 1920, height: 40) for output: eDP-1 +[2022-07-26 01:09:41.209] [info] Using configuration file /home/max/.config/waybar/config +[2022-07-26 01:09:41.221] [info] Using CSS file /home/max/.config/waybar/style.css +[2022-07-26 01:09:41.246] [info] config update for bar-0: id bar-0, mode dock, hidden_state hide +[2022-07-26 01:09:41.247] [warning] As using a timezone, some format args may be missing as the date library haven't got a release since 2018. +[2022-07-26 01:09:41.278] [warning] Waybar has been built without rfkill support. + +** (waybar:491379): WARNING **: 01:09:41.375: gtk-layer-shell v0.7.0 may not work on GTK v3.24.34. If you experience crashes, check https://github.com/wmww/gtk-layer-shell/blob/master/compatibility.md +[2022-07-26 01:09:41.388] [warning] Requested height: 20 is less than the minimum height: 40 required by the modules +[2022-07-26 01:09:41.388] [info] Bar configured (width: 1920, height: 40) for output: eDP-1 diff --git a/configs/waybar/scripts/power-profile b/configs/waybar/scripts/power-profile index e2fc70f..4a74cf7 100755 --- a/configs/waybar/scripts/power-profile +++ b/configs/waybar/scripts/power-profile @@ -3,7 +3,7 @@ CURRENT=$(powerprofilesctl get) LOW="🐢" BALANCED="☯️" -HIGH="⚡" +HIGH="🐇" if [ "$CURRENT" = 'power-saver' ]; then if [ "$1" = "--toggle" ]; then