Sublime Forum

CodeIntel ported from Open Komodo Editor

#38

I have the same problem as guillermooo i think. The indexing time increased very much and it takes now for about 30 min. with maximum cpu usage, only to index the dojo javascript library which is included in my project. I end up with about 1000 directories within ~/.codeintel/db/javascript and lots of performance warnings in the log file like:

JavaScript extra lib dirs: set()
event: This buffer is configured with 816 JavaScript import dirs: this may result in poor completion performance

Dojo is included as a .cix file in SublimeCodeIntel/libs/codeintel2/catalogs/dojo.cix and doesn’t need to be indexed at all. In older versions of the plugin this didn’t happen. Is it possible to exclude directories?

0 Likes

#39

I’ve worked out s few problems in SublimeCodeIntel, and new version should work a bit better. For anyone interested, get the latest from Github (github.com/Kronuz/SublimeCodeIntel).

0 Likes

#40

Nice to see you back and working on the plugin :wink:

I still have the same problems with javascript. It would be nice if the automatic scanning of project folders could be optional.

0 Likes

#41

@sublimator, that was an old problem… please pull the latest from github :wink:

@senzo you too, try the latest and let me know… post log files too plz :smiley:

0 Likes

#42

@sublimator no, pull should do it… however that error is an old one (fixed in github’s master)… the line numbers marked don’t even contain that code anymore (check the file online at github)… actually simply “git pull” should do it…

0 Likes

#43

I’m not able to get anything working with any JavaScript libraries. Just seems to index forever (with 100% CPU usage).

0 Likes

#44

So it finally finished, however I’m not sure where it has scanned. It seems to have scanned the whole HD…

Where is the indexed content stored?

0 Likes

#45

It is still not working with javascript for me. You can try it out if you download the dojotoolkit from here:
download.dojotoolkit.org/release … .1-src.zip
Create an empty ST2 project, put the dojotoolkit in the project folder, open any .js file and type 'dojo.(ctrl + space)"

And another point besides the scanning of .js files: There is a dojo.cix file in /SublimeCodeIntel/libs/codeintel2/catalogs/dojo.cix
So there is no need to scan the dojotoolkit folder at all - the project specific files have to scanned of course. I am not sure how this can be achieved, maybe by excluding directories manually?

0 Likes

#46

I’ve this error under Ubuntu 11.04 x86_64 kernel 2.6.38-10-generic =(

Traceback (most recent call last): File ".\logging\__init__.py", line 768, in emit File ".\logging\__init__.py", line 648, in format File ".\logging\__init__.py", line 436, in format File ".\logging\__init__.py", line 306, in getMessage UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 23: ordinal not in range(128)

0 Likes

#47

I added a screencast at Jing for showing the features off:
screencast.com/t/wXFuTAvDRg

EDIT: sorry… new to screencast, posted the wrong URL :stuck_out_tongue:

0 Likes

#48

@sublimator, Indeed there’s great stuff in OpenKomodo. They also have linting stuff… but I’m now using SublimeLint…

@xavi, that seems like an encoding problem… but it doesn’t seem to come directly from SublimeCodeIntel… it’s a weird traceback :S
Does your source code contains special characters?

@senzo, I can see the problem occurring here (for dojo) …but I can’t find out what it is… the dojo CIX library included with SublimeCodeIntel is for dojo 1.5 and your link is for 1.6. I’m not sure if that can be the cause or if it’s something else…

Always pull the latest SublimeCodeIntel… and if anyone is experiencing issues or problems running SublimeCodeIntel in any platform, please let me know at github.com :smile:

0 Likes

#49

Howdy! I’m trying to try out CodeIntel, but for some reason, it is trying to load the OS X versions of the prebuilt libraries and subsequently the CodeIntel plugin fails to initialize. I’m on an up-to-date Arch Linux x86-64 system, using the latest Sublime build and my copy of CodeIntel is at the latest commit (71cf6ae as of this writing). Here is the relevant bit of the log log from the Sublime console:

Reloading plugin /home/nerdshark/.config/sublime-text-2/Packages/SublimeCodeIntel/python_codeintel.py
Traceback (most recent call last):
  File "./sublime_plugin.py", line 29, in reload_plugin
  File "./python_codeintel.py", line 86, in <module>
    from codeintel2.common import *
  File "/home/nerdshark/.config/sublime-text-2/Packages/SublimeCodeIntel/libs/codeintel2/common.py", line 76, in <module>
    import SilverCity
  File "/home/nerdshark/.config/sublime-text-2/Packages/SublimeCodeIntel/libs/SilverCity/__init__.py", line 1, in <module>
    import _SilverCity
  File "/home/nerdshark/.config/sublime-text-2/Packages/SublimeCodeIntel/libs/SilverCity/_SilverCity.py", line 22, in <module>
    from _macosx_universal._SilverCity import *
ImportError: /home/nerdshark/.config/sublime-text-2/Packages/SublimeCodeIntel/libs/_macosx_universal/_SilverCity.so: invalid ELF header

I’m really excited to get this working, as I’ll be able to switch from my comparatively uncomfortable gvim config!

TIA,
nerdshark

Edit: After hacking on SublimeCodeIntel/libs/SilverCity/_SilverCity.py and allowing the ImportError to be raised on import of the linux x86_64 libs, I discovered that something was trying to load a version of the pcre shared library that didn’t exist on my system.

Reloading plugin /home/nerdshark/.config/sublime-text-2/Packages/SublimeCodeIntel/python_codeintel.py Traceback (most recent call last): File "./sublime_plugin.py", line 29, in reload_plugin File "./python_codeintel.py", line 86, in <module> from codeintel2.common import * File "/home/nerdshark/.config/sublime-text-2/Packages/SublimeCodeIntel/libs/codeintel2/common.py", line 76, in <module> import SilverCity File "/home/nerdshark/.config/sublime-text-2/Packages/SublimeCodeIntel/libs/SilverCity/__init__.py", line 1, in <module> import _SilverCity File "/home/nerdshark/.config/sublime-text-2/Packages/SublimeCodeIntel/libs/SilverCity/_SilverCity.py", line 10, in <module> from _linux_libcpp6_x86_64._SilverCity import * ImportError: libpcre.so.3: cannot open shared object file: No such file or directory

Creating a symlink from /usr/lib/libpcre.so to /usr/lib/libpcre.so.3 gets CodeIntel to load. Now, the question is, why is CodeIntel linking to a specific version of pcre? Wouldn’t it be better to link to the copy of the library that doesn’t have the version in its filename?

0 Likes

#50

@nerdshark, the problem here is the pre-built linux binaries aren’t compatible again… I’m not sure if Jon changed something and that’s the reason or if your Linux is causing the problems :frowning:

I’ll ask Jon to see if he changed anything (since he built the Linux and windows binaries for me). I wish Linux would use a standard python distribution as these problems would be reduced… In exchang for a couple extra megabytes at the most, I would think.

0 Likes

#51

@nerdshark, Jon just hinted me about what the problem is… it seems it’d be fixed if you install libpcre… since it’s a dependency at the moment.

0 Likes

#52

I DO have it installed. The problem is that it looks for a specific version of pcre (libpcre.so.3), rather than one without the version in the filename (libpcre.so). Changing that should make everything hunky-dory.

0 Likes

#53

@nerdshark, could you try making a symbolic link called libpcre.so.3 to libpcre.so or whatever version you have (hopefuly it’ll work)… and please, let me know if it does work. :smile:

0 Likes

#54

Yes, I tried that and it works. Created the symlink from /usr/lib/libpcre.so to /usr/lib/libpcre.so.3 fixes the issue. Now all that needs to be fixed is how the library is being built so that it links against libpcre.so rather than libpcre.so.3

0 Likes

#55

This seems to work on/off for me (javascript). Is there anyway I can debug with logs or something?

0 Likes

#56

Dude. Using standart hotkeys is not good. Like <super + j> macos. I’m using it every day and I have to delete it from your plugin after every update. It’s annoying a bit. Can you do something with it?

btw, Can you share your theme for st2 and for autocomplete window from screencast, please? :smile:

0 Likes

#57

@squ1b3r, I got that super+j from the Komodo Editor, that’s the same key they use for showing the autocomplete… but we could all vote and find better key bindings (I already changed the cmd+click to alt+click for compatibility issues in ST2 too)…

The current bindings are:
cmd + j = Show CodeIntel autocomplete popup
cmd + f3 = Jump to symbol definition
alt + click = Jump to symbol definition

  • for windows and linux, the above “cmd” = “ctrl”

Regarding the color theme in the screencast, it’s based in the RailsCasts theme, and modified a bit. About the background in the autocomplete, I’m using Soda Dark theme (github.com/buymeasoda/soda-theme). I’m attaching it here for anyone who wants it :smile:

@rdougan, the logs currently are at ~/.codeintel/codeintel.log …what do you mean “on/off” ?
Kronuz.tmTheme.zip (1.99 KB)

0 Likes