sphaerophoria / atom-rtags-plus Goto Github PK
View Code? Open in Web Editor NEWThis project forked from hebnern/atom-rtags
Rtags interface for Atom editor
License: GNU Lesser General Public License v3.0
This project forked from hebnern/atom-rtags
Rtags interface for Atom editor
License: GNU Lesser General Public License v3.0
@phord suggested at some point that we should support hyperlinks on all symbols we can get info for. At the time I dismissed as I didn't think rtags provided us with enough information.
On further investigation I found that rc has a --tokens option which dumps a list of all known tokens in a given range of a file. This could be used to identify which words have information associated with them.
This would also pave the way for something similar to nuclide's context view. Since we now know whether or not the cursor is over a symbol we can supply more information on hover.
I start rdm
manually, then I run Atom. Everything works as expected – I can jump to symbol definitions, etc. – but only for few minutes. Then all operations start to fail. There's no error notification in Atom, but I can see that some errors are logged in console:
internal/child_process.js:540 Uncaught (in promise) Error: channel closed
at ChildProcess.target.send (internal/child_process.js:540:16)
at RcExecutor.<anonymous> (/home/drechny/.atom/packages/atom-rtags-plus/lib/rtags.js:180:22)
at RcExecutor.rc_exec (/home/drechny/.atom/packages/atom-rtags-plus/lib/rtags.js:155:12)
at RcExecutor.index_unsaved_file (/home/drechny/.atom/packages/atom-rtags-plus/lib/rtags.js:252:19)
at subscriptions.(anonymous function).editor.onDidStopChanging (/home/drechny/.atom/packages/atom-rtags-plus/lib/modified-file-tracker.js:74:25)
at Function.module.exports.Emitter.simpleDispatch (/home/drechny/.local/share/umake/ide/atom/resources/app.asar/node_modules/event-kit/lib/emitter.js:25:14)
at Emitter.module.exports.Emitter.emit (/home/drechny/.local/share/umake/ide/atom/resources/app.asar/node_modules/event-kit/lib/emitter.js:129:28)
at /home/drechny/.local/share/umake/ide/atom/resources/app.asar/node_modules/text-buffer/lib/text-buffer.js:1371:25target.send @ internal/child_process.js:540(anonymous function) @ rtags.js:180rc_exec @ rtags.js:155index_unsaved_file @ rtags.js:252subscriptions.(anonymous function).editor.onDidStopChanging @ modified-file-tracker.js:74module.exports.Emitter.simpleDispatch @ emitter.js:25module.exports.Emitter.emit @ emitter.js:129(anonymous function) @ text-buffer.js:1371
notification.coffee:17 Uncaught (in promise) Error: Notification must be created with string message: Error: channel closed
at Notification.module.exports.Notification.validate (/home/drechny/.local/share/umake/ide/atom/resources/app.asar/src/notification.js:25:15)
at new Notification (/home/drechny/.local/share/umake/ide/atom/resources/app.asar/src/notification.js:20:12)
at NotificationManager.module.exports.NotificationManager.addError (/home/drechny/.local/share/umake/ide/atom/resources/app.asar/src/notification-manager.js:41:35)
at /home/drechny/.atom/packages/atom-rtags-plus/lib/atom-rtags.coffee:145:43module.exports.Notification.validate @ notification.coffee:17Notification @ notification.coffee:13module.exports.NotificationManager.addError @ notification-manager.coffee:132(anonymous function) @ atom-rtags.coffee [sm]:145
rdm
still runs fine, but it receives no commands from Atom. When I run rc
from command line, I still get results. After I restart Atom, everything works again.
My environment:
Ubuntu Linux 16.04
atom-rtags-plus 1.4.0
rtags 2.8
[Enter steps to reproduce:]
Atom: 1.40.1 x64
Electron: 3.1.10
OS: Ubuntu 18.04.3
Thrown From: atom-rtags-plus package 1.4.2
Uncaught Channel closed
At events.js:167
Error [ERR_IPC_CHANNEL_CLOSED]: Channel closed
at ChildProcess.target.send (internal/child_process.js:627:16)
at /packages/atom-rtags-plus/lib/rtags.js:181:26)
at new Promise (<anonymous>)
at RcExecutor.rc_exec (/packages/atom-rtags-plus/lib/rtags.js:155:12)
at RcExecutor.set_buffers (/packages/atom-rtags-plus/lib/rtags.js:438:17)
at OpenFileTracker.updateRecentlyViewedItems (/packages/atom-rtags-plus/lib/open-file-tracker.js:31:25)
at Function.simpleDispatch (/usr/share/atom/resources/app/static/<embedded>:11:1209208)
at Emitter.emit (/usr/share/atom/resources/app/static/<embedded>:11:1210649)
at Workspace.didChangeActivePaneItemOnPaneContainer (/usr/share/atom/resources/app/static/<embedded>:11:424404)
at WorkspaceCenter.paneContainer.onDidChangeActivePaneItem.t (/usr/share/atom/resources/app/static/<embedded>:14:44396)
at Function.simpleDispatch (/usr/share/atom/resources/app/static/<embedded>:11:1209208)
at Emitter.emit (/usr/share/atom/resources/app/static/<embedded>:11:1210649)
at PaneContainer.didChangeActiveItemOnPane (/usr/share/atom/resources/app/static/<embedded>:11:446737)
at Pane.setActiveItem (/usr/share/atom/resources/app/static/<embedded>:11:455581)
at Pane.activateItem (/usr/share/atom/resources/app/static/<embedded>:11:457751)
at Workspace.open (/usr/share/atom/resources/app/static/<embedded>:11:431419)
-0:20.7.0 fuzzy-finder:toggle-file-finder (atom-workspace.workspace.scrollbars-visible-always.theme-one-dark-syntax.theme-one-dark-ui)
-0:16.2.0 core:confirm (input.hidden-input)
-0:15.1.0 switch-header-source:switch (input.hidden-input)
atom-rtags-plus 1.4.2
busy-signal 2.0.1
clang-format 2.0.8
file-icons 2.1.35
git-blame 1.8.0
highlight-selected 0.16.0
hyperclick 0.1.5
intentions 1.1.5
language-qml 1.1.0
linter 2.3.1
linter-gcc 0.7.1
linter-ui-default 1.8.0
minimap 4.29.9
minimap-cursorline 0.2.0
minimap-selection 4.5.0
switch-header-source 0.34.1
Rtags has a feature that lets you list which buffers you have open in the editor. These buffers get pushed to the head of the queue when files are being indexed. It's helpful on a project that takes 20 minutes to reindex to have my "interesting" files indexed first after I've changed a common header file rather than having to wait for everything to be reindexed.
The command is
rc --set-buffers "[file[;file[...]]]"
That is, the filenames all go in a single argument separated by semicolons.
You can query the current list with "rc --list-buffers".
There doesn't seem to be a way to append to the list. I suppose whenever the editor has the focus it should list all its open buffers again.
This is a very useful package!
Do you have any plans to add support for get-subclasses? I see that there is some code present for this, but it is commented out. How far from complete is it?
Got this when I disabled rtags for some performance testing. I already had some files open which were indexed by rtags. Then I disabled the rtags-plus package. I closed some open files by clicking on the close button [X] on the tabs. I didn't see this error then. But when I clicked on the tab of an open file, this error was thrown. It is thrown again every time I click a different indexed file.
I tried opening a new file from the treeview and the error did not appear. But when I clicked in the buffer of the file I had opened, it did throw the error.
Atom: 1.18.0 x64
Electron: 1.3.15
OS: Ubuntu 16.10
Thrown From: atom-rtags-plus package 1.4.2
Uncaught TypeError: Cannot read property 'indexOf' of null
At /home/phord/.atom/packages/atom-rtags-plus/lib/open-file-tracker.js:21
TypeError: Cannot read property 'indexOf' of null
at OpenFileTracker.updateRecentlyViewedItems (/packages/atom-rtags-plus/lib/open-file-tracker.js:21:43)
at Function.module.exports.Emitter.simpleDispatch (/usr/share/atom/resources/app/node_modules/event-kit/lib/emitter.js:25:20)
at Emitter.module.exports.Emitter.emit (/usr/share/atom/resources/app/node_modules/event-kit/lib/emitter.js:141:34)
at Workspace.didChangeActivePaneItemOnPaneContainer (/usr/share/atom/resources/app/src/workspace.js:493:28)
at WorkspaceCenter.paneContainer.onDidChangeActivePaneItem (/usr/share/atom/resources/app/src/workspace-center.js:16:20)
at Function.module.exports.Emitter.simpleDispatch (/usr/share/atom/resources/app/node_modules/event-kit/lib/emitter.js:25:20)
at Emitter.module.exports.Emitter.emit (/usr/share/atom/resources/app/node_modules/event-kit/lib/emitter.js:141:34)
at PaneContainer.didChangeActiveItemOnPane (/usr/share/atom/resources/app/src/pane-container.js:280:26)
at Pane.module.exports.Pane.setActiveItem (/usr/share/atom/resources/app/src/pane.js:318:22)
at Pane.module.exports.Pane.activateItem (/usr/share/atom/resources/app/src/pane.js:471:27)
at Immediate.<anonymous> (/usr/share/atom/resources/app/node_modules/tabs/lib/tab-bar-view.js:702:30)
at runCallback (timers.js:574:20)
at tryOnImmediate (timers.js:554:5)
at processImmediate [as _immediateCallback] (timers.js:533:5)
2x -0:39.7.0 intentions:highlight (input.hidden-input)
-0:39 command-palette:toggle (input.hidden-input)
-0:37.9.0 editor:consolidate-selections (input.hidden-input)
-0:37.9.0 core:cancel (input.hidden-input)
-0:37.2.0 intentions:highlight (input.hidden-input)
-0:36.8.0 settings-view:open (input.hidden-input)
atom-over-and-back 0.3.2
atom-rtags-plus 1.4.2
busy-signal 1.4.3
clipboard-plus 0.5.1
cursor-history 0.11.1
file-type-icons 1.3.4
git-status 0.3.4
git-time-machine 1.5.9
haskell-grammar 0.4.0
highlight-selected 0.13.1
hyperclick 0.1.3
intentions 1.1.5
language-babel 2.68.0
language-docker 1.1.8
language-graphql 0.9.0
language-ini 1.19.0
language-lua 0.9.11
language-ocaml 1.9.5
language-openscad 0.4.3
language-rust 0.4.11
language-swift 0.5.0
language-thrift 1.0.2
line-diff-details 1.8.0
linter 2.2.0
linter-ui-default 1.6.3
MagicPython 1.0.11
merge-conflicts 1.4.5
minimap 4.29.3
minimap-bookmarks 0.4.2
minimap-cursorline 0.2.0
minimap-find-and-replace 4.5.2
minimap-git-diff 4.3.1
minimap-highlight-selected 4.6.1
minimap-linter 2.0.2
minimap-selection 4.4.0
nuclide 0.242.0
nuclide-format-js 0.0.36
screen-recorder 1.3.0
set-syntax 0.3.2
sort-lines 0.14.0
ssh-config 0.10.1
symbols-tree-view 0.14.0
tool-bar 1.1.0
tree-view-extended 2.0.0
Hi! Thanks for maintaining the atom-rtags-plus package!
In Atom v1.19, we will release a major change to Atom's core text buffer data structure. As part of this change, we have made TextBuffer.save
asynchronous; rather than blocking until the save is complete, it now immediately returns a Promise
that resolves when the save is complete. Because of this, a few other Atom APIs that use save
have similarly become async:
Pane.close
TextBuffer.save
TextEditor.save
Pane.saveItem
Pane.saveItemAs
Pane.saveActiveItem
Pane.saveActiveItemAs
Pane.saveItems
Workspace.saveActivePaneItem
Workspace.saveActivePaneItemAs
We think this package could be impacted by this upgrade because it calls the changed methods in the following places:
TextEditor.save
We found these calls using a regex search, so this list might be incomplete, and it might contain some false positives.
It should be pretty easy to adjust your package code and/or tests to work with the new async behavior, and to simultaneously keep it working with older versions of Atom. Here are some examples of pull requests we opened on our bundled packages to cope with the change:
Please let me know if you have any questions. I'd be happy to help!
Atom: 1.17.2 x64
Electron: 1.3.15
OS: Ubuntu 16.10
Thrown From: atom-rtags-plus package 1.4.2
Uncaught TypeError: editor.getRootScopeDescriptor is not a function
At /home/phord/.atom/packages/atom-rtags-plus/lib/util.js:41
TypeError: editor.getRootScopeDescriptor is not a function
at Proxy.module.exports.matched_scope (/packages/atom-rtags-plus/lib/util.js:41:38)
at OpenFileTracker.updateRecentlyViewedItems (/packages/atom-rtags-plus/lib/open-file-tracker.js:16:47)
at Function.module.exports.Emitter.simpleDispatch (/usr/share/atom/resources/app/node_modules/event-kit/lib/emitter.js:25:1)
at Emitter.module.exports.Emitter.emit (/usr/share/atom/resources/app/node_modules/event-kit/lib/emitter.js:129:1)
at Workspace.didActivatePaneContainer (/usr/share/atom/resources/app/src/workspace.js:474:1)
at WorkspaceCenter.paneContainer.onDidActivatePane (/usr/share/atom/resources/app/src/workspace-center.js:11:1)
at Function.module.exports.Emitter.simpleDispatch (/usr/share/atom/resources/app/node_modules/event-kit/lib/emitter.js:25:1)
at Emitter.module.exports.Emitter.emit (/usr/share/atom/resources/app/node_modules/event-kit/lib/emitter.js:129:1)
at PaneContainer.didActivatePane (/usr/share/atom/resources/app/src/pane-container.js:260:1)
at Pane.module.exports.Pane.activate (/usr/share/atom/resources/app/src/pane.js:875:1)
at Pane.module.exports.Pane.focus (/usr/share/atom/resources/app/src/pane.js:269:1)
at atom-pane.<anonymous> (/usr/share/atom/resources/app/src/pane-element.js:51:25)
-0:29.4.0 nuclide-file-tree:reveal-active-file (atom-workspace.workspace.scrollbars-visible-always.theme-one-dark-syntax.theme-one-dark-ui)
-0:29.4.0 nuclide-file-tree:toggle (atom-workspace.workspace.scrollbars-visible-always.theme-one-dark-syntax.theme-one-dark-ui)
atom-rtags-plus 1.4.2
busy-signal 1.4.1
clipboard-plus 0.5.1
file-type-icons 1.3.4
git-status 0.3.4
git-time-machine 1.5.9
haskell-grammar 0.4.0
highlight-selected 0.13.1
hyperclick 0.0.40
intentions 1.1.2
language-babel 2.65.1
language-docker 1.1.8
language-graphql 0.9.0
language-ini 1.19.0
language-lua 0.9.11
language-ocaml 1.9.3
language-openscad 0.4.3
language-rust 0.4.10
language-swift 0.5.0
language-thrift 1.0.2
line-diff-details 1.8.0
linter 2.1.4
linter-ui-default 1.6.0
MagicPython 1.0.10
merge-conflicts 1.4.5
minimap 4.28.2
minimap-bookmarks 0.4.2
minimap-cursorline 0.2.0
minimap-find-and-replace 4.5.2
minimap-git-diff 4.3.1
minimap-highlight-selected 4.6.1
minimap-selection 4.4.0
nuclide 0.230.0
nuclide-format-js 0.0.36
screen-recorder 1.2.3
set-syntax 0.3.2
sort-lines 0.14.0
ssh-config 0.10.1
tool-bar 1.1.0
Currently the absolute path is shown in the "Rtags References" window. In case the absolute path is long, the second column could get shifted to the far left, sometimes it can go outside of the visible area, which will require user to use the scrollbar to see the second column.
Showing relative file path in the first column, can allow user to see both the file path and the reference in one visible area, which would be a great improvement in usability.
Cheers.
[Enter steps to reproduce:]
Atom: 1.17.2 x64
Electron: 1.3.15
OS: Ubuntu 16.10
Thrown From: atom-rtags-plus package 1.4.2
Uncaught TypeError: editor.getRootScopeDescriptor is not a function
At /home/phord/.atom/packages/atom-rtags-plus/lib/util.js:41
TypeError: editor.getRootScopeDescriptor is not a function
at Proxy.module.exports.matched_scope (/packages/atom-rtags-plus/lib/util.js:41:38)
at OpenFileTracker.updateRecentlyViewedItems (/packages/atom-rtags-plus/lib/open-file-tracker.js:16:47)
at Function.module.exports.Emitter.simpleDispatch (/usr/share/atom/resources/app/node_modules/event-kit/lib/emitter.js:25:1)
at Emitter.module.exports.Emitter.emit (/usr/share/atom/resources/app/node_modules/event-kit/lib/emitter.js:129:1)
at Workspace.didActivatePaneContainer (/usr/share/atom/resources/app/src/workspace.js:474:1)
at WorkspaceCenter.paneContainer.onDidActivatePane (/usr/share/atom/resources/app/src/workspace-center.js:11:1)
at Function.module.exports.Emitter.simpleDispatch (/usr/share/atom/resources/app/node_modules/event-kit/lib/emitter.js:25:1)
at Emitter.module.exports.Emitter.emit (/usr/share/atom/resources/app/node_modules/event-kit/lib/emitter.js:129:1)
at PaneContainer.didActivatePane (/usr/share/atom/resources/app/src/pane-container.js:260:1)
at Pane.module.exports.Pane.activate (/usr/share/atom/resources/app/src/pane.js:875:1)
at Pane.module.exports.Pane.focus (/usr/share/atom/resources/app/src/pane.js:269:1)
at atom-pane.<anonymous> (/usr/share/atom/resources/app/src/pane-element.js:51:25)
-0:29.4.0 nuclide-file-tree:reveal-active-file (atom-workspace.workspace.scrollbars-visible-always.theme-one-dark-syntax.theme-one-dark-ui)
-0:29.4.0 nuclide-file-tree:toggle (atom-workspace.workspace.scrollbars-visible-always.theme-one-dark-syntax.theme-one-dark-ui)
atom-rtags-plus 1.4.2
busy-signal 1.4.1
clipboard-plus 0.5.1
file-type-icons 1.3.4
git-status 0.3.4
git-time-machine 1.5.9
haskell-grammar 0.4.0
highlight-selected 0.13.1
hyperclick 0.0.40
intentions 1.1.2
language-babel 2.65.1
language-docker 1.1.8
language-graphql 0.9.0
language-ini 1.19.0
language-lua 0.9.11
language-ocaml 1.9.3
language-openscad 0.4.3
language-rust 0.4.10
language-swift 0.5.0
language-thrift 1.0.2
line-diff-details 1.8.0
linter 2.1.4
linter-ui-default 1.6.0
MagicPython 1.0.10
merge-conflicts 1.4.5
minimap 4.28.2
minimap-bookmarks 0.4.2
minimap-cursorline 0.2.0
minimap-find-and-replace 4.5.2
minimap-git-diff 4.3.1
minimap-highlight-selected 4.6.1
minimap-selection 4.4.0
nuclide 0.230.0
nuclide-format-js 0.0.36
screen-recorder 1.2.3
set-syntax 0.3.2
sort-lines 0.14.0
ssh-config 0.10.1
tool-bar 1.1.0
The .load instance method is deprecated. Create a loaded buffer using TextBuffer.load(filePath) instead.
atom-rtags-plus/lib/util.js:28:31
The jump to definition function with hyperclick is fancy while I could not jump back after follow the definition.
I tried the last-cursor-position package but with no luck.
could we add a internal stack to keep jump information?
[Enter steps to reproduce:]
Atom: 1.21.0 x64
Electron: 1.6.9
OS: Mac OS X 10.12.6
Thrown From: atom-rtags-plus package 1.4.2
Uncaught TypeError: editor.getRootScopeDescriptor is not a function
At /Users/kimmalon/.atom/packages/atom-rtags-plus/lib/util.js:41
TypeError: editor.getRootScopeDescriptor is not a function
at Proxy.module.exports.matched_scope (/packages/atom-rtags-plus/lib/util.js:41:38)
at OpenFileTracker.updateRecentlyViewedItems (/packages/atom-rtags-plus/lib/open-file-tracker.js:16:47)
at Function.module.exports.Emitter.simpleDispatch (/Applications/Atom.app/Contents/Resources/app/node_modules/event-kit/lib/emitter.js:25:20)
at Emitter.module.exports.Emitter.emit (/Applications/Atom.app/Contents/Resources/app/node_modules/event-kit/lib/emitter.js:141:34)
at Workspace.didChangeActivePaneItemOnPaneContainer (/Applications/Atom.app/Contents/Resources/app/src/workspace.js:492:28)
at WorkspaceCenter.paneContainer.onDidChangeActivePaneItem (/Applications/Atom.app/Contents/Resources/app/src/workspace-center.js:17:20)
at Function.module.exports.Emitter.simpleDispatch (/Applications/Atom.app/Contents/Resources/app/node_modules/event-kit/lib/emitter.js:25:20)
at Emitter.module.exports.Emitter.emit (/Applications/Atom.app/Contents/Resources/app/node_modules/event-kit/lib/emitter.js:141:34)
at PaneContainer.didChangeActiveItemOnPane (/Applications/Atom.app/Contents/Resources/app/src/pane-container.js:284:26)
at Pane.module.exports.Pane.setActiveItem (/Applications/Atom.app/Contents/Resources/app/src/pane.js:339:22)
at Pane.module.exports.Pane.activateItemAtIndex (/Applications/Atom.app/Contents/Resources/app/src/pane.js:475:25)
at Pane.module.exports.Pane.activatePreviousItem (/Applications/Atom.app/Contents/Resources/app/src/pane.js:440:27)
at Pane.module.exports.Pane.removeItem (/Applications/Atom.app/Contents/Resources/app/src/pane.js:630:22)
at Pane.module.exports.Pane.destroyItem (/Applications/Atom.app/Contents/Resources/app/src/pane.js:706:22)
at TabBarView.module.exports.TabBarView.closeTab (/Applications/Atom.app/Contents/Resources/app/node_modules/tabs/lib/tab-bar-view.js:341:32)
at HTMLDivElement.TabView.didClickCloseIcon (/Applications/Atom.app/Contents/Resources/app/node_modules/tabs/lib/tab-bar-view.js:229:25)
-5:49.2.0 deprecation-cop:view (atom-workspace.workspace.scrollbars-visible-when-scrolling.seti-icons.seti-animate.theme-monokai-seti.theme-seti-ui)
atom-rtags-plus 1.4.2
atomic-rtags 1.3.0
auto-detect-indentation 1.3.0
busy-signal 1.4.3
file-icons 2.1.12
find-and-replace-with-prev 0.210.0
fonts 3.0.3
go-debug 1.5.2
go-plus 5.5.5
go-signature-statusbar 1.2.3
highlight-selected 0.13.1
hyperclick 0.1.5
intentions 1.1.5
json-level-color 0.1.4
kims-markdown-package 0.0.0
language-markdown 0.25.1
language-plantuml 0.2.0
last-cursor-position 0.9.2
linter 2.2.0
linter-ui-default 1.6.10
markdown-preview-opener 0.1.1
markdown-scroll-sync 2.1.2
markdown-toc 0.4.2
markdown-writer 2.7.2
minimap 4.29.7
minimap-highlight-selected 4.6.1
monokai-seti 0.9.0
organized 0.7.2
pdf-view 0.59.0
pen-paper-coffee-syntax 0.14.9
pigments 0.40.2
plain-simple 1.1.0
plantuml-viewer 0.7.2
project-manager 3.3.5
seti-ui 1.9.0
Sublime-Style-Column-Selection 1.7.4
tool-bar 1.1.0
tool-bar-markdown-writer 0.3.0
touch-bar-utility 2.4.0
Linting doesn't work for me anymore (after package update?) I can see compilation errors in rdm
output (even for unsaved changes), but none of them appear in Atom.
My environment:
Ubuntu Linux 16.04
atom-rtags-plus 1.4.0
linter 2.1.0
rtags 2.8
If I go to github.com and search for atom-rtags-plus, github says:
https://github.com/search?utf8=%E2%9C%93&q=atom-rtags-plus
We couldn’t find any repositories matching 'atom-rtags-plus'
To find the atom-rtags-plus project natively, I search for atom-rtags:
https://github.com/search?utf8=%E2%9C%93&q=atom-rtags
It doesn't find this project. It finds the original rajendrant project and another abandoned one:
rajendrant/atom-rtags
artagnon/atomic-rtags
To get to this project, then I have to open rajendrant's and then click the "fork-number" to finally get to this fork.
This isn't a problem with the code; it's some github oddity. But I suppose it's hard to notice when you own the repo.
the readme is too simple for this package to work.
after installed this package, how to make it work?
Not a single one can be dispensable. this package can't work without any one!
code completion of atom-rtags-plus breaks integration tests in atom.
(I guess it should throw an execution when given some undefined value and not just fail)
[Enter steps to reproduce:]
Atom: 1.19.6 x64
Electron: 1.6.9
OS: Ubuntu 14.04
Thrown From: atom-rtags-plus package 1.4.2
Uncaught Error: Cannot find module 'space-pen'
At /usr/share/atom/resources/app/static/<embedded>:1
Error: Cannot find module 'space-pen'
at Module._resolveFilename (module.js:470:15)
at Module._resolveFilename (/usr/share/atom/resources/electron.asar/common/reset-search-paths.js:35:12)
at Function.get_Module._resolveFilename (/usr/share/atom/resources/app/src/module-cache.js:354:58)
at Module.require (usr/share/atom/resources/app/static/index.js:40:43)
at require (/usr/share/atom/resources/app/src/native-compile-cache.js:66:33)
at /packages/atom-rtags-plus/lib/view/rtags-search-view.coffee:1:13)
at /packages/atom-rtags-plus/lib/view/rtags-search-view.coffee:1:1)
at /packages/atom-rtags-plus/lib/view/rtags-search-view.coffee:1:1)
at Module.get_Module._compile (/usr/share/atom/resources/app/src/native-compile-cache.js:106:36)
at Object.value [as .coffee] (/usr/share/atom/resources/app/src/compile-cache.js:239:29)
at Module.load (module.js:488:32)
at tryModuleLoad (module.js:447:12)
at Function.Module._load (module.js:439:3)
at Module.require (usr/share/atom/resources/app/static/index.js:47:45)
at require (/usr/share/atom/resources/app/src/native-compile-cache.js:66:33)
at lazy (/packages/atom-rtags-plus/node_modules/lazy-req/index.js:2:51)
at Object.get (/packages/atom-rtags-plus/node_modules/lazy-req/index.js:42:11)
at Object.getSearchView (/packages/atom-rtags-plus/lib/atom-rtags.coffee:227:41)
at Object.refactorAtPoint (/packages/atom-rtags-plus/lib/atom-rtags.coffee:217:6)
at /packages/atom-rtags-plus/lib/atom-rtags.coffee:100:104)
at CommandRegistry.module.exports.CommandRegistry.handleCommandEvent (/usr/share/atom/resources/app/src/command-registry.js:265:35)
at /usr/share/atom/resources/app/src/command-registry.js:3:65
at Object.didConfirmSelection (/usr/share/atom/resources/app/node_modules/command-palette/lib/command-palette-view.js:106:35)
at SelectListView.confirmSelection (/usr/share/atom/resources/app/node_modules/atom-select-list/src/select-list-view.js:313:26)
at HTMLDivElement.core:confirm (/usr/share/atom/resources/app/node_modules/atom-select-list/src/select-list-view.js:81:20)
at CommandRegistry.module.exports.CommandRegistry.handleCommandEvent (/usr/share/atom/resources/app/src/command-registry.js:265:35)
at /usr/share/atom/resources/app/src/command-registry.js:3:65
at KeymapManager.module.exports.KeymapManager.dispatchCommandEvent (/usr/share/atom/resources/app/node_modules/atom-keymap/lib/keymap-manager.js:610:22)
at KeymapManager.module.exports.KeymapManager.handleKeyboardEvent (/usr/share/atom/resources/app/node_modules/atom-keymap/lib/keymap-manager.js:401:28)
at WindowEventHandler.module.exports.WindowEventHandler.handleDocumentKeyEvent (/usr/share/atom/resources/app/src/window-event-handler.js:100:42)
at HTMLDocument.<anonymous> (/usr/share/atom/resources/app/src/window-event-handler.js:3:65)
-0:45.1.0 core:cancel (input.hidden-input)
-0:44.3.0 command-palette:toggle (input.hidden-input)
-0:35.4.0 editor:consolidate-selections (input.hidden-input)
-0:35.4.0 core:cancel (input.hidden-input)
-0:27.4.0 core:move-up (input.hidden-input)
-0:27 core:move-down (input.hidden-input)
5x -0:24.3.0 editor:move-to-end-of-word (input.hidden-input)
-0:22.7.0 core:move-right (input.hidden-input)
3x -0:22.2.0 core:move-up (input.hidden-input)
3x -0:21.4.0 core:move-left (input.hidden-input)
-0:16.1.0 fuzzy-finder:toggle-file-finder (input.hidden-input)
-0:14.8.0 editor:consolidate-selections (input.hidden-input)
-0:14.8.0 core:cancel (input.hidden-input)
-0:14.3.0 command-palette:toggle (input.hidden-input)
-0:09.1.0 core:confirm (input.hidden-input)
-0:09.1.0 atom-rtags-plus:refactor-at-point (input.hidden-input)
advanced-open-file 0.16.6
atom-beautify 0.30.5
atom-rtags 0.2.2
atom-rtags-plus 1.4.2
autocomplete-clang 0.8.8
build 0.68.0
clipboard-plus 0.5.1
highlight-selected 0.13.1
hyperclick 0.1.3
language-diff 0.7.0
linter 2.2.0
linter-clang 4.1.2
minimap 4.29.6
minimap-find-and-replace 4.5.2
minimap-highlight-selected 4.6.1
multirow-tabs 0.3.3
my-misc 0.0.0
sane-indentation 0.1.3
smart-tab-name 1.0.5
tab-switcher 1.5.6
This hack here is not needed anymore as the initial issue in rtags is resolved
https://github.com/sphaerophoria/atom-rtags-plus/blob/master/lib/view/references-tree-view.coffee#L111
Thank you for this useful plugin!
One issue I've noticed is that autocompletion doesn't work after ->
operator. I suspect it's related to a column number that gets passed to rc
, because I get expected suggestions after I put a space after ->
.
For example:
iterator->|
- no autocompletion suggestions
iterator-> |
- suggestions expected for ->
Where |
is the position of the cursor.
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.