Git Product home page Git Product logo

atom-cscope's Introduction

atom-cscope package

Using cscope within Atom Code Editor. This is my first Atom package which I created out of need since I was not able to find any package which could let me use cscope in Atom. (It may be there but is probably buried under a million packages so I could not find it.)

What it does?

  1. Find this C symbol: ✓
  2. Find this global definition: ✓
  3. Find functions called by this function: ✓
  4. Find functions calling this function: ✓
  5. Find this text string: ✓
  6. Change this text string: ✗
  7. Find this egrep pattern: ✓
  8. Find this file: ✓
  9. Find files #including this file: ✓
  10. Find assignments to this symbol: ✓

Finds the selected text or word under cursor to perform a cscope lookup and displays the results in a panel which shows up above (Check the screenshot). Or you could just toggle the display of the atom-cscope panel and look it up yourself.

The following commands are registered to execute search with the word in selection or under cursor:

atom-cscope:find-symbol
atom-cscope:find-global-definition
atom-cscope:find-functions-called-by
atom-cscope:find-functions-calling
atom-cscope:find-text-string
atom-cscope:find-egrep-pattern
atom-cscope:find-file
atom-cscope:find-files-including
atom-cscope:find-assignments-to

The following commands are registered to toggle the Widget open with pre-selected options to save time.

atom-cscope:toggle
atom-cscope:toggle-symbol
atom-cscope:toggle-global-definition
atom-cscope:toggle-functions-called-by
atom-cscope:toggle-functions-calling
atom-cscope:toggle-text-string
atom-cscope:toggle-egrep-pattern
atom-cscope:toggle-file
atom-cscope:toggle-files-including
atom-cscope:toggle-assignments-to

Only atom-cscope:toggle has a keymap set. You can setup your own keymaps for the other commands.

The command atom-cscope:focus-next allows you to switch between the main editor and the widget, while the widget is open.

Command atom-cscope:refresh-db allows you to create/re-create the cscope database for all the projects in the Atom workspace.

For all those who do not want to touch your mouse: Command atom-cscope:project-select allows you to open a dropdown to select the project in which you want to run the cscope query in. Command atom-cscope:option-select allows you to open a dropdown to select the cscope option.

There are 3 ways of executing a search:

  • Live search: Executes a search with configurable delay after you input your search term.
  • Enter Key: Just press enter after typing your input.
  • Search button: Click the button.

If new search is same as previous search, no action is taken. However, you can force search by clicking on the "SCOPE IT!" button

You can navigate the Result Items using arrow keys and press enter to open the target file in a new buffer and the cursor automatically moves to the location of the query or you can click on the Result Item for the same effect.

Ctrl-T like feature of ctags:

This package has a history feature as of 24c51c. atom-cscope:next and atom-cscope:prev are the commands you need to map. Each time you open a result using this package, it is recorded in a history stack. You can move back and forth in this stack. Ofcourse, if you move to the middle of the stack and open a new result, you will lose the forward history, as it is the behaviour of a stack.

Set it up?

You can use the existing cscope.out file, generate on your own, or generate through the widget with the lightning button.

To generate the cscope.out file on windows, you need to have the windows port of the cscope binary and point to the location in the settings of this package. Or just put it in your $PATH and mention cscope in the settings of this package.

To generate cscope.out manually, in your project directory run:

find . -name "*.c" -o -name "*.cpp" -o -name "*.h" -o -name "*.hpp" > cscope.files
cscope -q -R -b -i cscope.files

And then the package will be able to use the cscope.out file to generate results.

Screenshots

ScreenShot

Further Improvements?

  1. Add 'Change this text string' functionality

atom-cscope's People

Contributors

aleksey-makarov avatar amitab avatar robgjansen avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

atom-cscope's Issues

Uncaught Error executing command cscope [-dL0,V] Error: spawn cscope ENOENT

Still having a problem with this:
[Enter steps to reproduce:]

  1. Search
  2. Good luck

Atom: 1.38.1 x64
Electron: 2.0.18
OS: Microsoft Windows 10 Pro
Thrown From: atom-cscope package 1.1.0

Stack Trace

Uncaught Error executing command cscope [-dL0,V] Error: spawn cscope ENOENT

At C:\Users\Mir\.atom\packages\atom-cscope\dist\cscope.js:114

undefined

Commands

  2x -4:23.3.0 atom-cscope:toggle (div.tool-panel.tree-view)
     -3:08.4.0 command-palette:toggle (input.hidden-input)
     -2:50.8.0 editor:consolidate-selections (input.hidden-input)
     -2:50.8.0 core:cancel (input.hidden-input)
     -2:49.9.0 settings-view:open (input.hidden-input)
  2x -2:28.6.0 core:backspace (input.hidden-input)
     -1:47 atom-cscope:toggle (input.hidden-input)
  2x -1:44.1.0 core:backspace (input.hidden-input)
     -1:42.2.0 core:select-all (input.hidden-input)
     -1:42.1.0 editor:delete-to-beginning-of-word (input.hidden-input)

Non-Core Packages

atom-cscope 1.1.0 
gpp-compiler 3.0.7 
language-x86-64-assembly 2.2.11 

Uncaught TypeError: event.preventDefault is not a function

  1. Just after toggling CScope plugin. Could be because I haven't created the cscope.out yet? (I thought this is done automatically) EDIT: I have create the DB and still happens each time I toggle the plugin.

Atom Version: 1.6.0-beta0-1b416c7
System: "Fedora release 23
Thrown From: atom-cscope package, v0.13.0

Stack Trace

Uncaught TypeError: event.preventDefault is not a function

At /home/benito/.atom/packages/atom-cscope/lib/views/input-view.coffee:41

TypeError: event.preventDefault is not a function
    at InputView.module.exports.InputView.searchCallback (/home/benito/.atom/packages/atom-cscope/lib/views/input-view.coffee:41:11)
    at /home/benito/.atom/packages/atom-cscope/lib/views/input-view.coffee:1:1
    at Function.module.exports.Emitter.simpleDispatch (/usr/local/share/atom/resources/app.asar/node_modules/event-kit/lib/emitter.js:25:14)
    at Emitter.module.exports.Emitter.emit (/usr/local/share/atom/resources/app.asar/node_modules/event-kit/lib/emitter.js:125:28)
    at /usr/local/share/atom/resources/app.asar/node_modules/text-buffer/lib/text-buffer.js:1327:25

Commands

     -4:41.3.0 settings-view:open (atom-text-editor.editor.is-focused)
     -4:37.4.0 core:confirm (atom-text-editor.editor.mini.is-focused)
     -0:52.4.0 find-and-replace:show (atom-text-editor.editor.is-focused)
     -0:51.6.0 core:paste (atom-text-editor.editor.mini.is-focused)
  4x -0:50.8.0 core:confirm (atom-text-editor.editor.mini.is-focused)
     -0:07.5.0 editor:consolidate-selections (atom-text-editor.editor.is-focused)
     -0:07.5.0 git-diff-details:close-git-diff-details (atom-text-editor.editor.is-focused)
     -0:07.5.0 core:cancel (atom-text-editor.editor.is-focused)
     -0:06.1.0 command-palette:toggle (atom-text-editor.editor.is-focused)
     -0:01.7.0 core:confirm (atom-text-editor.editor.mini.is-focused)
     -0:01.7.0 atom-cscope:toggle (atom-text-editor.editor)

Config

{
  "core": {
    "autoHideMenuBar": true,
    "disabledPackages": [
      "rti-linter-code",
      "latex"
    ],
    "themes": [
      "atom-material-ui",
      "one-dark-syntax"
    ]
  },
  "atom-cscope": {}
}

Installed Packages

# User
atom-cscope, v0.13.0
atom-material-ui, v0.8.1
autocomplete-clang, v0.8.9
autocomplete-python, v1.6.1
autocomplete-xml, v0.8.1
docblockr, v0.7.3
file-icons, v1.6.14
git-diff-details, v0.21.0
git-log, v0.4.1
hyperclick, v0.0.35
language-latex, v0.6.1
linter, v1.11.3
linter-alex, v2.0.0
linter-chktex, v1.2.5
linter-clang, v3.4.1
linter-pep8, v1.2.1
linter-xmllint, v1.3.1
minimap, v4.19.0
minimap-bookmarks, v0.2.0
minimap-cursorline, v0.1.0
minimap-find-and-replace, v4.4.0
minimap-git-diff, v4.1.8
minimap-highlight-selected, v4.3.1
minimap-linter, v1.1.1
minimap-selection, v4.3.1
pdf-view, v0.39.0
term3, v0.21.2
tool-bar, v0.2.0
tool-bar-almighty, v0.6.1

# Dev
No dev packages

what is the -4058 issue??

I installed and I make a cscope.out manually using my cygwin terminal.

but when I run the cscope, it returns -4058 error.

what should I do? I have to make the cscope.out with windows version of cscope?

Doesn't seem to work on OS X

Hello,

Thanks for doing this cscope plug-in! I'm having some issues trying to use it, first it doesn't seem to be able to generate/update the database, I just get an error message but no log in the console at all. I've built the database myself, but then search doesn't seem to work either, and I get the following messages on the console:

/Users/royger/.atom/packages/atom-cscope/lib/atom-cscope.coffee:90 Uncaught (in promise) TypeError: Cannot read property 'indexOf' of undefined
at /Users/royger/.atom/packages/atom-cscope/lib/atom-cscope.coffee:73:24
at process._tickCallback (internal/process/next_tick.js:103:7)

"Error: Unable to refresh cscope database"

It happens if some header or C file is a symbols link (it's wrong approach, but unfortunately I have such project).

Fix: improve your default "find" command to the next one:

find . \( -name "*.c" -o -name "*.cpp" -o -name "*.h" -o -name "*.hpp" \) -type f > cscope.files

This command excludes symlinks. I'm not an active github user, so it will be grate if you make a fix.

Thank you!

Uncaught Error executing command cscope [-dL0,PDX] Error: spawn cscope ENOENT

[Enter steps to reproduce:]

  1. ...
  2. ...

Atom: 1.42.0 x64
Electron: 4.2.7
OS: Ubuntu 18.04.5
Thrown From: atom-cscope package 1.1.1

Stack Trace

Uncaught Error executing command cscope [-dL0,PDX] Error: spawn cscope ENOENT

At /home/philipp/.atom/packages/atom-cscope/dist/cscope.js:114

undefined

Commands

     -9:54.3.0 editor:consolidate-selections (input.hidden-input)
     -9:54.3.0 core:cancel (input.hidden-input)
     -9:54 editor:consolidate-selections (input.hidden-input)
     -9:54 core:cancel (input.hidden-input)
     -9:53.8.0 editor:consolidate-selections (input.hidden-input)
     -9:53.8.0 core:cancel (input.hidden-input)
     -9:53.5.0 editor:consolidate-selections (input.hidden-input)
     -9:53.5.0 core:cancel (input.hidden-input)
     -9:53.3.0 editor:consolidate-selections (input.hidden-input)
     -9:53.3.0 core:cancel (input.hidden-input)
     -4:34.1.0 core:move-right (input.hidden-input)
     -0:59.5.0 find-and-replace:show (input.hidden-input)
     -0:57.6.0 core:backspace (input.hidden-input)
  2x -0:54.7.0 core:confirm (input.hidden-input)
     -0:22.8.0 atom-cscope:toggle (input.hidden-input)
     -0:19.4.0 core:confirm (input.hidden-input)

Non-Core Packages

atom-beautify 0.33.4 
atom-cscope 1.1.1 

request: results to build in results view

First of all: Thank you for taking the initiative for cscope support!
I was really missing some of it's features when I switched to atom.

I realize it is still very young, but I only have 2 issues with it for the moment:

  1. when I close the results pane, I have to "click" inside the editor to regain control (get a cursor back)
  2. I don't want to use the mouse at all if possible and currently I have to click the result to go to the resulting file:line

would it be possible to pipe the results to the build in atom find results view?
That would solve all issue.

Unfortunately I know absolutely nothing about atom plugins

Uncaught TypeError: Cannot read property 'classList' of undefined

[Enter steps to reproduce:]

  1. Look for a symbol that only produces one entry (e.g. global symbol search for a function)

Atom: 1.18.0 x64
Electron: 1.3.15
OS: Ubuntu 16.04.2
Thrown From: atom-cscope package 1.0.0

Stack Trace

Uncaught TypeError: Cannot read property 'classList' of undefined

At /home/tal/.atom/packages/atom-cscope/lib/views/atom-cscope-view.coffee:76

TypeError: Cannot read property 'classList' of undefined
    at AtomCscopeView.module.exports.AtomCscopeView.selectNext (/packages/atom-cscope/lib/views/atom-cscope-view.coffee:76:49)
    at /packages/atom-cscope/lib/viewModels/atom-cscope-view-model.coffee:65:13)
    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)

Commands

     -0:40.9.0 editor:move-to-previous-subword-boundary (input.hidden-input)
  3x -0:40.5.0 editor:select-to-next-subword-boundary (input.hidden-input)
     -0:39.5.0 core:copy (input.hidden-input)
     -0:39.2.0 atom-cscope:toggle (input.hidden-input)
     -0:38.1.0 core:select-all (input.hidden-input)
     -0:38 core:paste (input.hidden-input)
     -0:37.1.0 core:confirm (input.hidden-input)
  5x -0:35.9.0 core:move-down (input.hidden-input)
  4x -0:09.9.0 core:move-up (input.hidden-input)
  3x -0:08.9.0 core:move-down (input.hidden-input)
     -0:05.1.0 core:confirm (input.hidden-input)
     -0:04.6.0 core:move-down (input.hidden-input)
     -0:03.8.0 editor:consolidate-selections (input.hidden-input)
     -0:03.8.0 core:cancel (input.hidden-input)
     -0:02.7.0 atom-cscope:toggle (input.hidden-input)
     -0:02.1.0 core:move-down (input.hidden-input)

Non-Core Packages

atom-cscope 1.0.0 
highlight-selected 0.13.1 
jumpy 3.1.3 
multi-cursor-plus 1.2.0 
open-files 0.8.2 
tab-smart-sort 0.3.0 

Uncaught Error executing command cscope [-dL3,config_check_band_frequencies] Error: spawn cscope ...

[Enter steps to reproduce:]

  1. Download OAI Code from EURECOM
  2. Try to find the functions calling the function config_check_band_frequencies in ~/openair2/ENB_APP/RRC_config_tools.c

Atom: 1.54.0 x64
Electron: 6.1.12
OS: Microsoft Windows 10 Education
Thrown From: atom-cscope package 1.1.1

Stack Trace

Uncaught Error executing command cscope [-dL3,config_check_band_frequencies] Error: spawn cscope ENOENT

At C:\Users\user\.atom\packages\atom-cscope\dist\cscope.js:114

undefined

Commands

     -0:47.5.0 atom-cscope:toggle (span.syntax--entity.syntax--name.syntax--function)
     -0:28.5.0 intentions:highlight (input.hidden-input)
     -0:28.5.0 core:copy (input.hidden-input)
     -0:27.3.0 core:paste (input.hidden-input)
     -0:26.2.0 core:confirm (input.hidden-input)

Non-Core Packages

atom-cscope 1.1.1 
autocomplete-python 1.16.0 
busy-signal 2.0.1 
git-control 0.9.0 
gitlab 0.1.3-7 
intentions 1.1.5 
linter 3.1.1 
linter-ui-default 2.3.4 
logo-file-icons 1.13.0 
markdown-folding 0.3.1 
markdown-helpers 0.3.0 
markdown-toolbar 0.1.2 
material-colors 0.1.0 
minimap 4.35.7 
pdf-view 0.72.0 
preview 0.19.0 
script 3.26.0 
xml-decoder 1.1.0 
xml-formatter 0.13.0 
xml-tools 0.2.1 

multi folder project opens wrong (new) file

Hi,

I was facing an issue when using a project with several folders in a specific setup.
Maybe related to #12 ?

My file structure:

root/
   project1/
   project2/
   common_components/
      comp1/
      comp2/

I'm using the "project manager" package to quickly jump between projects. and it allows to specify separate folders as 1 project. So I can select only project1/ and the common_components/
So Atom is now listing 2 folders at the top level in the tree view. (which are also at the same level in the file system)

project1/
common_components/
   comp1/
   comp2/

generating a cscope DB puts cscope files in both project1/ and common_components/

searching for a symbol yields the expected results and works fine.
however when navigating to a result, atom sometimes opens a file with the wrong path.

example:

currenty in a file in project1/file1 searching for a symbol and navigating from the results to common_components/comp1/file2 atom actually opens a file in:
project1/comp1/file2
Which does not exist...

The reverse however does work...
searching from common_components/comp1/file2 and navigating to a result in project1/file1 does open the correct file in folder1/file1.

Seems like an issue appending subfolders to root folders?

Support for cscope program to be in location not in PATH

I find that on my system cscope is located in ~/editortools and everytime I invoke cscope I get nasty warning that 'cscope' is not in PATH.

I double checked that ~/editortools is part of my $PATH variable but Atom's invocation has weird behavior if opened by "double clicking" App or when launched from cmd line as "atom myfile.c"

So I ended up changing the coffeescript and I've attached a diff that adds a config option and allows user to change its location.

Can you please apply this diff?
cscope_binary_path_config.diff.txt

Support multiple projects

In Atom I usually have several projects open at once (you can add a new project from the TreeView with mouse right button -> Add Project Folder). In that case, the plugin selects only one project to work with (in my case it selects a nodejs project so it's causing probably #11). It would be so useful to be able to select the project I would like to use, maybe as a dropdown box in the plugin or as a configuration.

Thanks for the plugin!

Uncaught Error: No search callback set!

Hi,

Unfortunately I ran into an issue with the new release...
I had to update atom first and then was thrown an error that there was no search callback set...

Also: the search field of the atom-cscope pane is empty where it contained the "symbol under cursor" in the previous release if I recall correctly.

UPDATE: There is only the error when I position the cursor on a symbol and toggle the "command palette" and invoke the "find ...." command (haven't setup key bindings yet)
When I toggle the atom-cscope pane and type the symbol in the search field it works perfectly!

[Enter steps to reproduce below:]

  1. place cursor on function
  2. invoke "find functions calling" (same for find symbol)

Atom Version: 1.2.4
System: Ubuntu 14.04.3
Thrown From: atom-cscope package, v0.9.0

Stack Trace

Uncaught Error: No search callback set!

At /home/jda/.atom/packages/atom-cscope/lib/views/input-view.coffee:80

Error: No search callback set!
    at InputView.module.exports.InputView.invokeSearch (/home/jda/.atom/packages/atom-cscope/lib/views/input-view.coffee:80:15)
    at Object.module.exports.AtomCscope.autoInputFromCursor (/home/jda/.atom/packages/atom-cscope/lib/atom-cscope.coffee:129:31)
    at atom-workspace.subscriptions.add.atom.commands.add.atom-cscope:find-functions-calling (/home/jda/.atom/packages/atom-cscope/lib/atom-cscope.coffee:107:10)
    at CommandRegistry.module.exports.CommandRegistry.handleCommandEvent (/usr/share/atom/resources/app.asar/src/command-registry.js:260:29)
    at /usr/share/atom/resources/app.asar/src/command-registry.js:3:61
    at CommandPaletteView.module.exports.CommandPaletteView.confirmed (/usr/share/atom/resources/app.asar/node_modules/command-palette/lib/command-palette-view.js:159:32)
    at CommandPaletteView.module.exports.SelectListView.confirmSelection (/usr/share/atom/resources/app.asar/node_modules/atom-space-pen-views/lib/select-list-view.js:338:21)
    at space-pen-div.atom.commands.add.core:confirm (/usr/share/atom/resources/app.asar/node_modules/atom-space-pen-views/lib/select-list-view.js:109:19)
    at CommandRegistry.module.exports.CommandRegistry.handleCommandEvent (/usr/share/atom/resources/app.asar/src/command-registry.js:260:29)
    at /usr/share/atom/resources/app.asar/src/command-registry.js:3:61

Commands

     -2:49.5.0 core:confirm (atom-text-editor.editor.mini.is-focused)
     -2:49.5.0 atom-cscope:find-functions-calling (atom-text-editor.editor.vim-mode.normal-mode)
     -0:58.1.0 atom-cscope:toggle (atom-text-editor.editor.vim-mode.normal-mode.is-focused)
  4x -0:57.4.0 vim-mode:move-down (atom-text-editor.editor.vim-mode.normal-mode.is-focused)
     -0:56.6.0 vim-mode:move-up (atom-text-editor.editor.vim-mode.normal-mode.is-focused)
  3x -0:56.3.0 vim-mode:move-down (atom-text-editor.editor.vim-mode.normal-mode.is-focused)
  6x -0:55.2.0 vim-mode:move-left (atom-text-editor.editor.vim-mode.normal-mode.is-focused)
     -0:49.9.0 atom-ctags:rebuild (atom-text-editor.editor.vim-mode.normal-mode.is-focused)
     -0:33 vim-mode:activate-insert-mode (atom-text-editor.editor.vim-mode.normal-mode.is-focused)
     -0:31.1.0 plantuml-preview:toggle (atom-text-editor.editor.vim-mode.is-focused.insert-mode)
     -0:21.2.0 editor:delete-to-beginning-of-word (atom-text-editor.editor.vim-mode.is-focused.insert-mode)
     -0:17.7.0 core:undo (atom-text-editor.editor.vim-mode.is-focused.insert-mode)
     -0:07.2.0 command-palette:toggle (atom-text-editor.editor.vim-mode.insert-mode.is-focused)
  2x -0:02.3.0 core:move-down (atom-text-editor.editor.mini.is-focused)
     -0:00.9.0 core:confirm (atom-text-editor.editor.mini.is-focused)
     -0:00.9.0 atom-cscope:find-functions-calling (atom-text-editor.editor.vim-mode.insert-mode)

Config

{
  "core": {
    "projectHome": "/home/jda/workspace",
    "ignoredNames": [
      ".git",
      ".odt",
      ".ods",
      ".o",
      ".a",
      "obj"
    ],
    "disabledPackages": [
      "autosave",
      "symbols-view"
    ],
    "packagesWithKeymapsDisabled": [
      "ctrl-dir-scroll"
    ]
  },
  "atom-cscope": {}
}

Installed Packages

# User
atom-cscope, v0.9.0
atom-ctags, v4.4.1
ctrl-last-tab, v0.3.0
goto-last-edit, v0.2.2
language-plantuml, v0.1.1
language-restructuredtext, v0.10.0
last-cursor-position, v0.9.0
minimap, v4.16.2
minimap-bookmarks, v0.1.0
minimap-find-and-replace, v4.3.2
minimap-highlight-selected, v4.3.1
pain-split, v1.4.0
plantuml-preview, v0.9.1
project-manager, v2.6.5
relative-numbers, v0.2.4
selection-highlight, v0.1.4
symbol-gen, v1.0.0
table-editor, v0.1.1
vim-mode, v0.63.0

# Dev
No dev packages

Uncaught TypeError: Cannot read property 'getSelectedText' of undefined

How to reproduce:

  1. Have no buffers opened in atom
  2. Run command atom-cscope:find-this-symbol (Infact any of the commands which try to take word from under the cursor throws this error.

Atom Version: 1.5.3
System: Ubuntu 15.10
Thrown From: atom-cscope package, v0.13.0

Stack Trace

Uncaught TypeError: Cannot read property 'getSelectedText' of undefined

At /home/amitabh/github/atom-cscope/lib/atom-cscope.coffee:145

TypeError: Cannot read property 'getSelectedText' of undefined
    at Object.module.exports.AtomCscope.autoInputFromCursor (/home/amitabh/github/atom-cscope/lib/atom-cscope.coffee:145:32)
    at atom-workspace.subscriptions.add.atom.commands.add.atom-cscope:find-this-symbol (/home/amitabh/github/atom-cscope/lib/atom-cscope.coffee:117:10)
    at CommandRegistry.module.exports.CommandRegistry.handleCommandEvent (/usr/share/atom/resources/app.asar/src/command-registry.js:260:29)
    at /usr/share/atom/resources/app.asar/src/command-registry.js:3:61
    at CommandPaletteView.module.exports.CommandPaletteView.confirmed (/usr/share/atom/resources/app.asar/node_modules/command-palette/lib/command-palette-view.js:183:32)
    at CommandPaletteView.module.exports.SelectListView.confirmSelection (/usr/share/atom/resources/app.asar/node_modules/atom-space-pen-views/lib/select-list-view.js:338:21)
    at space-pen-div.atom.commands.add.core:confirm (/usr/share/atom/resources/app.asar/node_modules/atom-space-pen-views/lib/select-list-view.js:109:19)
    at CommandRegistry.module.exports.CommandRegistry.handleCommandEvent (/usr/share/atom/resources/app.asar/src/command-registry.js:260:29)
    at /usr/share/atom/resources/app.asar/src/command-registry.js:3:61
    at KeymapManager.module.exports.KeymapManager.dispatchCommandEvent (/usr/share/atom/resources/app.asar/node_modules/atom-keymap/lib/keymap-manager.js:536:16)
    at KeymapManager.module.exports.KeymapManager.handleKeyboardEvent (/usr/share/atom/resources/app.asar/node_modules/atom-keymap/lib/keymap-manager.js:359:22)
    at WindowEventHandler.module.exports.WindowEventHandler.handleDocumentKeydown (/usr/share/atom/resources/app.asar/src/window-event-handler.js:97:36)
    at HTMLDocument.<anonymous> (/usr/share/atom/resources/app.asar/src/window-event-handler.js:3:61)

Commands

     -0:28.4.0 command-palette:toggle (atom-text-editor.editor.is-focused)
     -0:26.5.0 core:confirm (atom-text-editor.editor.mini.is-focused)
     -0:26.3.0 atom-cscope:toggle (atom-text-editor.editor)
     -0:24.5.0 command-palette:toggle (atom-text-editor.editor.mini.is-focused)
     -0:23.8.0 core:confirm (atom-text-editor.editor.mini.is-focused)
     -0:23.8.0 atom-cscope:toggle (atom-text-editor.editor.mini)
  2x -0:21.6.0 core:close (atom-text-editor.editor.is-focused)
     -0:20.5.0 command-palette:toggle (atom-workspace.workspace.scrollbars-visible-always.theme-atom-material-syntax.theme-atom-material-ui)
  7x -0:18.8.0 core:move-down (atom-text-editor.editor.mini.is-focused)
     -0:15.4.0 core:confirm (atom-text-editor.editor.mini.is-focused)
     -0:15.4.0 atom-cscope:find-this-symbol (atom-workspace.workspace.scrollbars-visible-always.theme-atom-material-syntax.theme-atom-material-ui)
     -0:03.6.0 command-palette:toggle (atom-pane.pane.active)
  7x -0:02.6.0 core:move-down (atom-text-editor.editor.mini.is-focused)
     -0:00.9.0 core:confirm (atom-text-editor.editor.mini.is-focused)
     -0:00.9.0 atom-cscope:find-this-symbol (atom-pane.pane.active)

Config

{
  "core": {
    "disabledPackages": [
      "open-on-github",
      "vim-mode",
      "vim-mode-zz",
      "vim-surround",
      "relative-numbers"
    ],
    "packagesWithKeymapsDisabled": [
      "git-history",
      "merge-conflicts",
      "autocomplete-clang",
      "symbols-tree-view"
    ],
    "themes": [
      "atom-material-ui",
      "atom-material-syntax"
    ]
  },
  "atom-cscope": {
    "cscopeIgnoreDir": "src/ gmock/"
  }
}

Installed Packages

# User
atom-cscope, v0.13.0
atom-material-syntax, v0.3.3
atom-material-ui, v0.8.1
autocomplete-clang, v0.8.9
emmet, v2.4.1
git-log, v0.4.1
language-cmake, v0.1.4
language-viml, v0.3.0
symbols-tree-view, v0.11.0
tree-view-git-modified, v0.6.2
tree-view-git-status, v0.2.2

# Dev
No dev packages

c1b15b9b causes failure to load

To reproduce:

  1. Have a project open, with cscope.out in the project root
  2. Install atom-cscope
  3. Invoke 'atom-cscope: Toggle', or 'atom-cscope: Find symbol' from the command menu
  4. Exception occurs :(

I have no idea if this is new or not, since I've never used atom-cscope before, but it does seem to be c1b15b9 which has caused this: it's introduced a block of code using 'path' in which 'path' doesn't appear to have ever been defined.

Atom Version: 1.6.0-beta7
System: "Fedora release
Thrown From: atom-cscope package, v0.14.0

Stack Trace

Failed to activate the atom-cscope package

At path is not defined

ReferenceError: path is not defined
    at Object.content (/home/daniels/.atom/packages/atom-cscope/lib/views/input-view.coffee:25:46)
    at Builder.tag (/usr/share/atom-beta/resources/app.asar/node_modules/atom-space-pen-views/node_modules/space-pen/lib/space-pen.js:281:19)
    at Function.View.(anonymous function) [as select] (/usr/share/atom-beta/resources/app.asar/node_modules/atom-space-pen-views/node_modules/space-pen/lib/space-pen.js:83:49)
    at Object.content (/home/daniels/.atom/packages/atom-cscope/lib/views/input-view.coffee:22:10)
    at Builder.tag (/usr/share/atom-beta/resources/app.asar/node_modules/atom-space-pen-views/node_modules/space-pen/lib/space-pen.js:281:19)
    at Function.View.(anonymous function) [as div] (/usr/share/atom-beta/resources/app.asar/node_modules/atom-space-pen-views/node_modules/space-pen/lib/space-pen.js:83:49)
    at Object.content (/home/daniels/.atom/packages/atom-cscope/lib/views/input-view.coffee:10:8)
    at Builder.tag (/usr/share/atom-beta/resources/app.asar/node_modules/atom-space-pen-views/node_modules/space-pen/lib/space-pen.js:281:19)
    at Function.View.(anonymous function) [as div] (/usr/share/atom-beta/resources/app.asar/node_modules/atom-space-pen-views/node_modules/space-pen/lib/space-pen.js:83:49)
    at Function.module.exports.InputView.content (/home/daniels/.atom/packages/atom-cscope/lib/views/input-view.coffee:9:6)
    at Function.<anonymous> (/usr/share/atom-beta/resources/app.asar/node_modules/atom-space-pen-views/node_modules/space-pen/lib/space-pen.js:156:31)
    at Function.View.buildHtml (/usr/share/atom-beta/resources/app.asar/node_modules/atom-space-pen-views/node_modules/space-pen/lib/space-pen.js:123:10)
    at InputView.View [as constructor] (/usr/share/atom-beta/resources/app.asar/node_modules/atom-space-pen-views/node_modules/space-pen/lib/space-pen.js:155:33)
    at new InputView (/home/daniels/.atom/packages/atom-cscope/lib/views/input-view.coffee:8:3)
    at Object.content (/home/daniels/.atom/packages/atom-cscope/lib/views/atom-cscope-view.coffee:15:33)
    at Builder.tag (/usr/share/atom-beta/resources/app.asar/node_modules/atom-space-pen-views/node_modules/space-pen/lib/space-pen.js:281:19)
    at Function.View.(anonymous function) [as div] (/usr/share/atom-beta/resources/app.asar/node_modules/atom-space-pen-views/node_modules/space-pen/lib/space-pen.js:83:49)
    at Function.module.exports.AtomCscopeView.content (/home/daniels/.atom/packages/atom-cscope/lib/views/atom-cscope-view.coffee:8:6)
    at Function.<anonymous> (/usr/share/atom-beta/resources/app.asar/node_modules/atom-space-pen-views/node_modules/space-pen/lib/space-pen.js:156:31)
    at Function.View.buildHtml (/usr/share/atom-beta/resources/app.asar/node_modules/atom-space-pen-views/node_modules/space-pen/lib/space-pen.js:123:10)
    at AtomCscopeView.View [as constructor] (/usr/share/atom-beta/resources/app.asar/node_modules/atom-space-pen-views/node_modules/space-pen/lib/space-pen.js:155:33)
    at new AtomCscopeView (/home/daniels/.atom/packages/atom-cscope/lib/views/atom-cscope-view.coffee:7:3)
    at Object.module.exports.AtomCscope.attachModal (/home/daniels/.atom/packages/atom-cscope/lib/atom-cscope.coffee:134:27)
    at Object.module.exports.AtomCscope.activate (/home/daniels/.atom/packages/atom-cscope/lib/atom-cscope.coffee:151:6)
    at Package.module.exports.Package.activateNow (/usr/share/atom-beta/resources/app.asar/src/package.js:181:20)
    at /usr/share/atom-beta/resources/app.asar/src/package.js:800:25
    at Function.module.exports.Emitter.simpleDispatch (/usr/share/atom-beta/resources/app.asar/node_modules/event-kit/lib/emitter.js:25:14)
    at Emitter.module.exports.Emitter.emit (/usr/share/atom-beta/resources/app.asar/node_modules/event-kit/lib/emitter.js:125:28)
    at CommandRegistry.module.exports.CommandRegistry.handleCommandEvent (/usr/share/atom-beta/resources/app.asar/src/command-registry.js:241:20)
    at /usr/share/atom-beta/resources/app.asar/src/command-registry.js:3:61
    at CommandPaletteView.module.exports.CommandPaletteView.confirmed (/usr/share/atom-beta/resources/app.asar/node_modules/command-palette/lib/command-palette-view.js:183:32)
    at CommandPaletteView.module.exports.SelectListView.confirmSelection (/usr/share/atom-beta/resources/app.asar/node_modules/atom-space-pen-views/lib/select-list-view.js:338:21)
    at space-pen-div.atom.commands.add.core:confirm (/usr/share/atom-beta/resources/app.asar/node_modules/atom-space-pen-views/lib/select-list-view.js:109:19)
    at CommandRegistry.module.exports.CommandRegistry.handleCommandEvent (/usr/share/atom-beta/resources/app.asar/src/command-registry.js:260:29)
    at /usr/share/atom-beta/resources/app.asar/src/command-registry.js:3:61
    at KeymapManager.module.exports.KeymapManager.dispatchCommandEvent (/usr/share/atom-beta/resources/app.asar/node_modules/atom-keymap/lib/keymap-manager.js:570:16)
    at KeymapManager.module.exports.KeymapManager.handleKeyboardEvent (/usr/share/atom-beta/resources/app.asar/node_modules/atom-keymap/lib/keymap-manager.js:378:22)
    at WindowEventHandler.module.exports.WindowEventHandler.handleDocumentKeydown (/usr/share/atom-beta/resources/app.asar/src/window-event-handler.js:97:36)
    at HTMLDocument.<anonymous> (/usr/share/atom-beta/resources/app.asar/src/window-event-handler.js:3:61)

Commands

  2x -3:33.5.0 blur (atom-text-editor.editor.mini.is-focused)
     -3:30.2.0 pane:show-previous-item (div.panels)
     -3:30 blur (div.panels)
     -3:28 command-palette:toggle (atom-text-editor.editor.vim-mode.normal-mode.is-focused)
     -3:27 blur (atom-text-editor.editor.vim-mode.normal-mode.is-focused)
  2x -3:23.8.0 core:move-down (atom-text-editor.editor.mini.is-focused)
     -3:23.1.0 core:confirm (atom-text-editor.editor.mini.is-focused)
     -3:23.1.0 blur (atom-text-editor.editor.mini.is-focused)
     -3:23.1.0 atom-cscope:refresh-db (atom-text-editor.editor.vim-mode.normal-mode)
 19x -3:20.6.0 blur (atom-text-editor.editor.vim-mode.normal-mode.is-focused)
     -0:05.4.0 command-palette:toggle (atom-text-editor.editor.vim-mode.normal-mode.is-focused)
     -0:04.5.0 blur (atom-text-editor.editor.vim-mode.normal-mode.is-focused)
     -0:02.8.0 core:confirm (atom-text-editor.editor.mini.is-focused)
     -0:02.8.0 blur (atom-text-editor.editor.mini.is-focused)
     -0:02.8.0 atom-cscope:toggle (atom-text-editor.editor.vim-mode.normal-mode)
     -0:01.0 blur (atom-text-editor.editor.vim-mode.normal-mode.is-focused)

Config

{
  "core": {
    "audioBeep": false,
    "autoHideMenuBar": true,
    "themes": [
      "one-dark-ui",
      "predawn-syntax"
    ]
  }
}

Installed Packages

# User
atom-cscope, v0.14.0
atomatigit, v1.5.5
autocomplete-glsl, v0.2.3
autocomplete-python, v1.7.0
build, v0.55.0
git-diff-details, v0.23.0
git-log, v0.4.1
hidpi, v0.11.0
language-diff, v0.4.0
predawn-syntax, v1.0.2
project-manager, v2.7.6
vim-mode, v0.64.0

# Dev
No dev packages

Cscope is old and doesn't really support cpp.

Latest version is somewhere around 2012.
Maybe it would be nice to have a maintained fork of cscope as well?
And upgrade it with more stuff like cpp support?
Cause I don't really know any other standalone soft that does this kind of functions.

Changes required for upcoming CoffeeScript upgrade

Hi! Thanks for maintaining the atom-cscope package!

In Atom v1.12, we are going to upgrade CoffeeScript to the latest version. This upgrade entails one potentially breaking change to the language:

Changed strategy for the generation of internal compiler variable names. Note that this means that @example function parameters are no longer available as naked example variables within the function body.

We think your package may be affected by this upgrade, in the following places:

  • The resultSet variable here

These findings are based on linting packages with coffeescope. We could be wrong about some of them. When we release v1.12 beta, please test your package against it to make sure that it works. Let me know if you have any further questions; I will be happy to help!

Can't scroll search results anymore

Just updated to 1.1.0 version. The search results cannot be scrolled up and down anymore like in previous version. I cannot get a focus on the results widget in any way to move the results around, can only click on the lines to bring up the code. This is problematic when looking for something that has many hits (like function pointers assigned in various places), those just don't fit in the few lines that are visible.

The scrollbar is kind of visible on right, but it's just empty white bar, with no scroll location indicator there.

Used the plugin on Linux (Ubuntu 18.04) + Atom version 1.51.0 (x64).

new feature: open results in a new tab?

I often encounter a situation that I must find my target from hundreds or thousands of searching results while working with aosp project.

How about add an option to make it possible to select whether open the search results in popup window in current tab (as it does now), or open in a new tab?
Like the style of Cscope does in sublime text.

Thanks!

Dies in an exception handler

The cscope plugin is throwing an exception in a promise, and then failing to handle the exception correctly.

The error:

atom-cscope.coffee:73 Uncaught (in promise) TypeError: Cannot read property 'indexOf' of undefined(…
  (anonymous function) @ atom-cscope.coffee:73
  _tickCallback @ internal/process/next_tick.js:103

It appears to be in this block of code:

      cscope.runCscopeCommands option, keyword, projects
      .then (data) =>
        @atomCscopeView.clearItems()
        @atomCscopeView.applyResultSet(data)
      .catch (data) =>
        if data.message.indexOf("cannot open file cscope.out") > 0
          notifier.addError "Error: Please generate the cscope database."
        else
          notifier.addError "Error: " + data.message

Specifically, the line hilighted is the line if data.message.indexOf...

For my description "project" refers to the atom concept of a project. I have a dozen directories added to the project. I am running the search from a panel in which I have opened a file in one of those directories. The base of the directory containing that file contains cscope.out and cscope.files.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.