jbakamovic / cxxd-vim Goto Github PK
View Code? Open in Web Editor NEWVim frontend implementation for cxxd server.
License: GNU General Public License v3.0
Vim frontend implementation for cxxd server.
License: GNU General Public License v3.0
Perhaps it is better to use half-baked solution such as CursorMoved
to detect scrolling events than nothing. Too many syntax rules are too heavy on the Vim rendering engine.
neovim; Windows11
I got an error when trying to install cxxfilt-vim with vim-plug:
Error detected while processing function <SNR>4_nvim_cb[1]..<SNR>4_job_cb[4]..<SNR>4_job_exit_cb[4]..<SNR>4_tick[6]..<SNR>4_update_finish[56]..<SNR>4_finish[9]..plug#end[89]..<SNR>4_reload_plugins[2]..<SNR>4_load_plugin[1]..<SNR>4_source[4]..script C:\Users\...\AppData\Local\nvim-data\plugged\cxxd-vim\plugin\cxxd\server.vim[6]..function provider#python3#Call:
line 18:
Error invoking 'python_execute' on channel 5 (python3-script-host):
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "C:\Users\...\AppData\Local\nvim-data\plugged\cxxd-vim\lib\server.py", line 1, in <module>
import cxxd.server
File "C:\Users\...\AppData\Local\nvim-data\plugged\cxxd-vim\lib\cxxd\server.py", line 8, in <module>
from . services.disassembly_service import Disassembly
File "C:\Users\...\AppData\Local\nvim-data\plugged\cxxd-vim\lib\cxxd\services\disassembly_service.py", line 1, in <module>
import cxxfilt
ModuleNotFoundError: No module named 'cxxfilt'
But I had already installed cxxfilt:
$ pip list
...
cxxfilt 0.3.0
...
My init.vim be like:
let g:python3_host_prog = 'C:\Users\...\scoop\shims\python3.exe'
call plug#begin()
Plug 'neoclide/coc.nvim', {'branch': 'release'}
Plug 'vim-airline/vim-airline'
Plug 'vim-airline/vim-airline-themes'
Plug 'majutsushi/tagbar'
Plug 'godlygeek/tabular'
Plug 'plasticboy/vim-markdown'
Plug 'Yggdroot/LeaderF', { 'do': './install.sh' }
Plug 'jiangmiao/auto-pairs'
Plug 'preservim/nerdtree'
Plug 'preservim/nerdcommenter'
Plug 'ferrine/md-img-paste.vim'
Plug 'frazrepo/vim-rainbow'
Plug 'rhysd/vim-clang-format'
Plug 'JBakamovic/cxxd-vim'
call plug#end()
Error detected while processing <HOME_DIR>/.vim/bundle/cxxd-vim/plugin/cxxd/server.vim:
line 10:
Traceback (most recent call last):
File "", line 1, in
File "<HOME_DIR>/.local/lib/python2.7/site-packages/cxxd.py", line 17
class XXDParser(object, metaclass=ABCMeta):
^
SyntaxError: invalid syntax
Error detected while processing <HOME_DIR>/.vim/bundle/cxxd-vim/plugin/cxxd.vim:
line 153:
E227: mapping already exists for ^\s
line 155:
E227: mapping already exists for ^\d
Press ENTER or type command to continue
Hi, after I install the cxxd following the steps, that error occurs when vim starts.
Erro detectado ao processar /home/jonrock/.vim/bundle/cxxd-vim/plugin/cxxd/server.vim:
linha 10:
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/home/jonrock/.vim/bundle/cxxd-vim/lib/cxxd/api.py", line 1, in <module>
from server import ServiceId
File "/home/jonrock/.vim/bundle/cxxd-vim/lib/cxxd/server.py", line 8, in <module>
from services.source_code_model_service import SourceCodeModel
File "/home/jonrock/.vim/bundle/cxxd-vim/lib/cxxd/services/source_code_model_service.py", line 4, in <module>
import cxxd.parser.clang_parser
File "/home/jonrock/.vim/bundle/cxxd-vim/lib/cxxd/parser/clang_parser.py", line 1, in <module>
import clang.cindex
ImportError: No module named clang.cindex
This feature will make us compatible with Neovim. Neovim as of now does not support clientserver
which we currently use to implement callbacks.
Hello :) so..
Edit: Sorry for being impolite and only pointing an error ;c Is there any way you could help me with that problem?
At first, I tried to install cxxd-vim to my vim and after recompiling vim to have +servername, +python and so, I tried to start it.
:CxxdStart .
gives me this error:
[xcb] Unknown sequence number while processing queue
[xcb] Most likely this is a multi-threaded client and XInitThreads has not been called
[xcb] Aborting, sorry about that.
gvim: xcb_io.c:260: poll_for_event: Assertion `!xcb_xlib_threads_sequence_lost' failed.
And after wandering through the whole internet for 3 times at least, I have no idea why is it happening.
Another situation that occured is: when I use :CxxdStart .
in vim (not Gvim), it starts 4 another Gvim windows with respectively:
<ect_builder#start_callback(1) 0, 0-1
<#clang_tidy#start_callback(1) 0, 0-1
<lang_format#start_callback(1) 0, 0-1
<code_model#start_callback(1) 0, 0-1
in the bottom bars.
I have compile_flags.txt with
-I./
-Wall
-Werror
that, as you said, is required.
Also :CxxdFetchAllDiagnostics
does nothing. Everything does nothing, lol.
I can run :CxxdStart .
inside one of those windows and after that the window freezes and I get
error in python 2.7/multiprocessing/process.py error, lines 267 and 114,
error in cxxd-vim/lib/cxxd/service.py, lines 62, 41,
error in cxxd-vim/lib/cxxd/services/source_code_model_service.py, line 52,
error in cxxd-vim/lib/cxxd/services/source_code_model/indexer/clang_indexer.py, line 72.
Couldn't copy that, that windows is frozen and have to kill -9
now :(
vim --version
Included patches: 1-480
Huge version with GTK2 GUI. Features included (+) or not (-):
+acl -farsi -mouse_sysmouse -tag_old_static
-arabic +file_in_path +mouse_urxvt -tag_any_white
+autocmd +find_in_path +mouse_xterm -tcl
+autochdir +float +multi_byte +termguicolors
-autoservername +folding +multi_lang +terminal
+balloon_eval -footer -mzscheme +terminfo
+balloon_eval_term +fork() +netbeans_intg +termresponse
+browse +gettext +num64 +textobjects
++builtin_terms -hangul_input +packages +textprop
+byte_offset +iconv +path_extra +timers
+channel +insert_expand +perl +title
+cindent +job +persistent_undo +toolbar
+clientserver +jumplist +popupwin +user_commands
+clipboard +keymap +postscript +vartabs
+cmdline_compl +lambda +printer +vertsplit
+cmdline_hist +langmap +profile +virtualedit
+cmdline_info +libcall +python/dyn +visual
+comments +linebreak +python3/dyn +visualextra
+conceal +lispindent +quickfix +viminfo
+cryptv +listcmds +reltime +vreplace
+cscope +localmap +rightleft +wildignore
+cursorbind +lua -ruby +wildmenu
+cursorshape +menu +scrollbind +windows
+dialog_con_gui +mksession +signs +writebackup
+diff +modify_fname +smartindent +X11
+digraphs +mouse +sound -xfontset
+dnd +mouseshape +spell +xim
-ebcdic +mouse_dec +startuptime +xpm
+emacs_tags +mouse_gpm +statusline +xsmp_interact
+eval -mouse_jsbterm -sun_workshop +xterm_clipboard
+ex_extra +mouse_netterm +syntax -xterm_save
+extra_search +mouse_sgr +tag_binary
Also, about the c++ code: it's a simple hello-world program where the print function is inside another class, with only #include<iostream>
and #include<header.h>
.
And I'm using Arch Linux (btw, lol).
If I can provide any more help, just tell me what you want :)
Edit2: After recompiling vim using --enable-gui=gtk3
instead of --enable-gui=gtk2
I'm able to run :CxxdStart .
in Gvim (started using gvim --servername cxxd -f .
), but after that I get
0
0
[xcb] Unknown sequence number while processing queue
[xcb] Most likely this is a multi-threaded client and XInitThreads has not been called
[xcb] Aborting, sorry about that.
gvim: xcb_io.c:260: poll_for_event: Assertion `!xcb_xlib_threads_sequence_lost' failed.
Vim: Caught deadly signal ABRT
BadLength (poly request too large or internal Xlib length error)
Vim: Got X error
Vim: Finished.
aaaaaand it's frozen again.
Anyway, is cxxd-vim supposed to run only in Gvim? Or there is a way to make it run in vim inside terminal? I'm not used to Gvim and don't think I want to :D.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.