Comments (4)
@toofar thanks for looking into this. Happy to accept this as a PR if you'd like to create one, otherwise we'll likely make this change ourselves then.
from codeium.vim.
@fortenforge I can also reproduce this on macOS but not Ubuntu
from codeium.vim.
I can reproduce this (long line of control characters printed over the buffer as pictured in #126) with wezterm and vim 9.0 (patches 1-1658). On the same system using urxvt it only puts a couple of characters there instead of a huge list.
I did the old "follow the logic flow and comment out functionality until the symptoms change" trick and traced it to these two system()
calls: https://github.com/Exafunction/codeium.vim/blob/7e0054a/autoload/codeium/server.vim#L123-L124
Removing the substitute and using echom
on the raw string returned from system()
it looks like the "garbage" on the screen is control characters that are read after the end of the output from uname. Interestingly, when I comment out the call to StartLanguageServer
that is triggering that code path the garbage doesn't show up when I later call CodeiumEnable
, so possibly it's something that only happens when system()
is called while vim is starting up before it's initialized the terminal fully.
Anyway, :help system
says to prepend the calls with silent
when you don't need user input because it "avoids stray characters showing up on the screen", and that seems to resolve the issue here just fine:
diff --git i/autoload/codeium/server.vim w/autoload/codeium/server.vim
index 569c4abf5171..9cd65ea9fa73 100644
--- i/autoload/codeium/server.vim
+++ w/autoload/codeium/server.vim
@@ -120,8 +120,8 @@ function! s:SendHeartbeat(timer) abort
endfunction
function! codeium#server#Start(...) abort
- let os = substitute(system('uname'), '\n', '', '')
- let arch = substitute(system('uname -m'), '\n', '', '')
+ 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
if os ==# 'Linux' && is_arm
from codeium.vim.
Wow really good find
from codeium.vim.
Related Issues (20)
- No suggestions when using 1.6.39 HOT 6
- Codeium Server Crashed
- Multiple issues with Codeium in Sublime Text HOT 2
- codeium auth doesn't work over ssh
- auto-completion of codeium doesn't work
- [Bug] Neovim hangs on :wq (possible race condition)
- Codeium Auth error HOT 3
- Invalid token, please try again: HOT 1
- Colorscheme used in demo gif
- Android studio can't clean Project HOT 1
- too many curl processes with neovim HOT 1
- Wrong Language Server HOT 2
- Plugin conflict with Grep Console HOT 9
- Configure listen address for chat HOT 3
- Auth fail E488: Trailing characters: curl (6) Could not resolve host: application^@
- Codeium just stopped working HOT 5
- bug: commit `decfb54` breaks codeium.vim in nvim HOT 32
- codeium.vim makes NeoVim laggy and unresponsive HOT 1
- Codeium does not work affter auth HOT 1
- What s happen ?? HOT 8
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from codeium.vim.