From 4063291e335e74e9ee2be04beb47d40b376312fa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ga=C3=A9tan=20Lepage?= <33058747+GaetanLepage@users.noreply.github.com> Date: Wed, 3 Jan 2024 20:13:03 +0100 Subject: [PATCH 01/52] Feat: Add codeium_bin option (#292) --- autoload/codeium/server.vim | 8 ++++++++ doc/codeium.txt | 8 ++++++++ 2 files changed, 16 insertions(+) diff --git a/autoload/codeium/server.vim b/autoload/codeium/server.vim index 94d40d62..edb4a8c1 100644 --- a/autoload/codeium/server.vim +++ b/autoload/codeium/server.vim @@ -122,6 +122,14 @@ function! s:SendHeartbeat(timer) abort endfunction function! codeium#server#Start(...) abort + let user_defined_codeium_bin = get(g:, 'codeium_bin', '') + + if user_defined_codeium_bin != '' && filereadable(user_defined_codeium_bin) + let s:bin = user_defined_codeium_bin + call s:ActuallyStart() + return + endif + silent let os = substitute(system('uname'), '\n', '', '') silent let arch = substitute(system('uname -m'), '\n', '', '') let is_arm = stridx(arch, 'arm') == 0 || stridx(arch, 'aarch64') == 0 diff --git a/doc/codeium.txt b/doc/codeium.txt index 7ecc7f6f..a738c63d 100644 --- a/doc/codeium.txt +++ b/doc/codeium.txt @@ -86,6 +86,14 @@ g:codeium_tab_fallback The fallback key when there is no suggestion display > let g:codeium_tab_fallback = "\t" < + *g:codeium_bin* +g:codeium_bin Manually set the path to the `codeium` language server + binary on your system. + If unset, `codeium.vim` will fetch and download the + binary from the internet. +> + let g:codeium_bin = "~/.local/bin/codeium_language_server" +< MAPS *codeium-maps* From a1c3d6b369a18514d656dac149de807becacbdf7 Mon Sep 17 00:00:00 2001 From: Rahul Sridhar Date: Wed, 17 Jan 2024 19:43:42 -0700 Subject: [PATCH 02/52] Bring to head of internal repo (#301) * Project import generated by Copybara. GitOrigin-RevId: 79a4e4242525a4fd0d569ff7fd08a6b501387742 * Update server.vim --------- Co-authored-by: Copybara Bot --- autoload/codeium/server.vim | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/autoload/codeium/server.vim b/autoload/codeium/server.vim index edb4a8c1..46501eaa 100644 --- a/autoload/codeium/server.vim +++ b/autoload/codeium/server.vim @@ -1,5 +1,5 @@ -let s:language_server_version = '1.6.13' -let s:language_server_sha = '3056e905a51e39039573c9a3623a1746671cdf15' +let s:language_server_version = '1.6.20' +let s:language_server_sha = 'c8aabc8753a3cea9d68cda55f9395290bdf75942' let s:root = expand(':h:h:h') let s:bin = v:null From 36721243b0e937217bd843fa21c5b285a7e68ae2 Mon Sep 17 00:00:00 2001 From: Rahul Sridhar Date: Thu, 25 Jan 2024 22:39:39 -0800 Subject: [PATCH 03/52] Project import generated by Copybara. (#307) GitOrigin-RevId: 8b5d31c67d37820bd7810b7cc4f348d3daa6a717 Co-authored-by: Copybara Bot --- autoload/codeium/server.vim | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/autoload/codeium/server.vim b/autoload/codeium/server.vim index 46501eaa..c4043a19 100644 --- a/autoload/codeium/server.vim +++ b/autoload/codeium/server.vim @@ -1,5 +1,5 @@ -let s:language_server_version = '1.6.20' -let s:language_server_sha = 'c8aabc8753a3cea9d68cda55f9395290bdf75942' +let s:language_server_version = '1.6.26' +let s:language_server_sha = '0383e6c718c9575110a47c482cc89985e5a9bd58' let s:root = expand(':h:h:h') let s:bin = v:null @@ -154,7 +154,13 @@ function! codeium#server#Start(...) abort if !filereadable(s:bin) call delete(s:bin) if sha ==# s:language_server_sha - let url = 'https://github.com/Exafunction/codeium/releases/download/language-server-v' . s:language_server_version . '/language_server_' . bin_suffix . '.gz' + if has_key(config, 'portal_url') && !empty(config.portal_url) + let base_url = config.portal_url + else + let base_url = 'https://github.com/Exafunction/codeium/releases/download' + endif + let base_url = strpart(base_url, 0, strridx(base_url, '/')) + let url = base_url . '/language-server-v' . s:language_server_version . '/language_server_' . bin_suffix . '.gz' else let url = 'https://storage.googleapis.com/exafunction-dist/codeium/' . sha . '/language_server_' . bin_suffix . '.gz' endif From c272d8d164c7757b40bbd009065244440eb3fbc5 Mon Sep 17 00:00:00 2001 From: Rahul Sridhar Date: Fri, 26 Jan 2024 19:46:22 +0000 Subject: [PATCH 04/52] Revert "Project import generated by Copybara. (#307)" This reverts commit 36721243b0e937217bd843fa21c5b285a7e68ae2. --- autoload/codeium/server.vim | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/autoload/codeium/server.vim b/autoload/codeium/server.vim index c4043a19..46501eaa 100644 --- a/autoload/codeium/server.vim +++ b/autoload/codeium/server.vim @@ -1,5 +1,5 @@ -let s:language_server_version = '1.6.26' -let s:language_server_sha = '0383e6c718c9575110a47c482cc89985e5a9bd58' +let s:language_server_version = '1.6.20' +let s:language_server_sha = 'c8aabc8753a3cea9d68cda55f9395290bdf75942' let s:root = expand(':h:h:h') let s:bin = v:null @@ -154,13 +154,7 @@ function! codeium#server#Start(...) abort if !filereadable(s:bin) call delete(s:bin) if sha ==# s:language_server_sha - if has_key(config, 'portal_url') && !empty(config.portal_url) - let base_url = config.portal_url - else - let base_url = 'https://github.com/Exafunction/codeium/releases/download' - endif - let base_url = strpart(base_url, 0, strridx(base_url, '/')) - let url = base_url . '/language-server-v' . s:language_server_version . '/language_server_' . bin_suffix . '.gz' + let url = 'https://github.com/Exafunction/codeium/releases/download/language-server-v' . s:language_server_version . '/language_server_' . bin_suffix . '.gz' else let url = 'https://storage.googleapis.com/exafunction-dist/codeium/' . sha . '/language_server_' . bin_suffix . '.gz' endif From 04e5f9dfb11d3bbcc28b4685378c1e6d2963fd1e Mon Sep 17 00:00:00 2001 From: Manuel Date: Sat, 27 Jan 2024 02:58:22 +0100 Subject: [PATCH 05/52] fix: typo in code block language (#309) --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 66dc2eaf..b868749b 100644 --- a/README.md +++ b/README.md @@ -66,7 +66,7 @@ let g:codeium_disable_bindings = 1 or in Neovim: -```vim +```lua vim.g.codeium_disable_bindings = 1 ``` @@ -125,7 +125,7 @@ let g:codeium_enabled = v:false or in Neovim: -```vim +```lua vim.g.codeium_enabled = false ``` From fd440cd718742daab162241c5bd5857cd92f5f72 Mon Sep 17 00:00:00 2001 From: Rahul Sridhar Date: Thu, 1 Feb 2024 15:04:26 -0800 Subject: [PATCH 06/52] Project import generated by Copybara. (#312) GitOrigin-RevId: 8708c2828657463e742a3e75b673d403bcaf88d5 Co-authored-by: Copybara Bot --- autoload/codeium/server.vim | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/autoload/codeium/server.vim b/autoload/codeium/server.vim index 46501eaa..49019675 100644 --- a/autoload/codeium/server.vim +++ b/autoload/codeium/server.vim @@ -1,5 +1,5 @@ -let s:language_server_version = '1.6.20' -let s:language_server_sha = 'c8aabc8753a3cea9d68cda55f9395290bdf75942' +let s:language_server_version = '1.6.28' +let s:language_server_sha = 'f485965568948013d9f47815917f2f1f3a99089d' let s:root = expand(':h:h:h') let s:bin = v:null @@ -154,7 +154,14 @@ function! codeium#server#Start(...) abort if !filereadable(s:bin) call delete(s:bin) if sha ==# s:language_server_sha - let url = 'https://github.com/Exafunction/codeium/releases/download/language-server-v' . s:language_server_version . '/language_server_' . bin_suffix . '.gz' + let config = get(g:, 'codeium_server_config', {}) + if has_key(config, 'portal_url') && !empty(config.portal_url) + let base_url = config.portal_url + else + let base_url = 'https://github.com/Exafunction/codeium/releases/download' + endif + let base_url = substitute(base_url, '/\+$', '', '') + let url = base_url . '/language-server-v' . s:language_server_version . '/language_server_' . bin_suffix . '.gz' else let url = 'https://storage.googleapis.com/exafunction-dist/codeium/' . sha . '/language_server_' . bin_suffix . '.gz' endif From 9286586f790f837c4c3032f2124559936e77e6ed Mon Sep 17 00:00:00 2001 From: Rahul Sridhar Date: Thu, 15 Feb 2024 15:18:07 -0800 Subject: [PATCH 07/52] Project import generated by Copybara. (#318) GitOrigin-RevId: 5367bd519e5ccc1eaf6eed4fd3cf409eb1761a5c Co-authored-by: Copybara Bot --- autoload/codeium/server.vim | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/autoload/codeium/server.vim b/autoload/codeium/server.vim index 49019675..7f60b4ea 100644 --- a/autoload/codeium/server.vim +++ b/autoload/codeium/server.vim @@ -1,5 +1,5 @@ -let s:language_server_version = '1.6.28' -let s:language_server_sha = 'f485965568948013d9f47815917f2f1f3a99089d' +let s:language_server_version = '1.6.36' +let s:language_server_sha = '6b19e3b934fc548fa6973efbbd090569f4685450' let s:root = expand(':h:h:h') let s:bin = v:null From f2d90dedb45e35f7563d2ce3a31c6928f79de678 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20Lavergne?= Date: Mon, 26 Feb 2024 20:17:22 -0500 Subject: [PATCH 08/52] Chat integration (#317) * Enable chat Starting point for chat integration: enabling the server. * Proper codeium#Chat() function This launches the browser the same way the initial authentication does. * Bugfix no-submit issue I forgot ide_telemetry_enabled=true which is needed for chat. * Automate workspace tracking * Don't search for project root until necessary * Whitespace fix * Whitespace fix * Document how to launch chat * Whitespace cleanup in README --- README.md | 27 +++++++++----- autoload/codeium.vim | 71 +++++++++++++++++++++++++++++++++++++ autoload/codeium/server.vim | 4 ++- 3 files changed, 92 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index b868749b..2054f9a3 100644 --- a/README.md +++ b/README.md @@ -50,13 +50,13 @@ A few of the most popular options are highlighted below. Codeium provides the following functions to control suggestions: -|Action|Function|Default Binding| -|---|---|---| -|Clear current suggestion| `codeium#Clear()` |``| -|Next suggestion| `codeium#CycleCompletions(1)` |``| -|Previous suggestion| `codeium#CycleCompletions(-1)` |``| -|Insert suggestion| `codeium#Accept()` |``| -|Manually trigger suggestion| `codeium#Complete()` |``| +| Action | Function | Default Binding | +| --------------------------- | ------------------------------ | --------------- | +| Clear current suggestion | `codeium#Clear()` | `` | +| Next suggestion | `codeium#CycleCompletions(1)` | `` | +| Previous suggestion | `codeium#CycleCompletions(-1)` | `` | +| Insert suggestion | `codeium#Accept()` | `` | +| Manually trigger suggestion | `codeium#Complete()` | `` | Codeium's default keybindings can be disabled by setting @@ -75,7 +75,6 @@ use the `g:codeium_no_map_tab` option. If you'd like to bind the actions above to different keys, this might look something like the following in Vim: - ```vim imap