Giter Club home page Giter Club logo

goto's Introduction

goto package

Provides “goto symbol” functionality for the current file or the entire project.

This is a replacement for Atom’s built-in symbols-view package that uses Atom’s own syntax files to identify symbols rather than ctags. The ctags project is very useful but it is never going to keep up with all of the new Atom syntaxes that will be created as Atom grows.

Commands:

  • cmd-r - Goto File Symbol
  • cmd-shift-r - Goto Project Symbol
  • cmd-alt-down - Goto Declaration
  • Rebuild Index
  • Invalidate Index

Index

The symbol index is currently maintained in memory. Goto File Symbol will reindex the current file if necessary and editing a file will automatically invalidate the symbol cache for it.

Symbols for the entire project are not indexed until the Goto Project Symbol or Goto Declaration commands are used.

While symbols are automatically kept up to date as buffers are modified, the package does not yet watch for external file modifications. If you change files externally, such as through a "git pull" or switching branches, you can use run Invalidate Index to clear the current index so it will be rebuilt when needed or Rebuild Index to rebuild it immediately.

Options

More Ignored Names

A whitespace and/or comma separated list of globs (filenames or wildcards) to ignore, applied to both files and directories. This can be useful for speeding up the rebuilding of the index.

Example: node_modules, *.sql

Auto Scroll

By default the Goto File Symbol command will scroll the selected command into view. Pressing Esc to cancel the command restores the position of the screen. Uncheck this option to disable the scrolling.

Note that the Goto Project Symbol does not scroll the editor since it displays choices from multiple files.

goto's People

Contributors

acusti avatar axeolotl avatar dansisan avatar mkleehammer avatar mshenfield avatar v3ss0n avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

goto's Issues

Broken symbolic link within Project directory breaks Cmd-Shift-R

I tried running Cmd-Shift-R on a directory which contains a broken symbolic link, and I got the following error (which prevented the Goto panel from appearing):

Error: ENOENT, no such file or directory '/home/ariofrio/myproject/brokenlink'
  at Error (native)
  at fs.statSync (fs.js:807:18)
  at Object.fs.statSync (/opt/atom/resources/atom/common/lib/asar.js:155:14)
  at SymbolIndex.module.exports.SymbolIndex.processDirectory (/home/ariofrio/.atom/packages/goto/lib/symbol-index.coffee:161:18)
  at SymbolIndex.module.exports.SymbolIndex.rebuild (/home/ariofrio/.atom/packages/goto/lib/symbol-index.coffee:116:8)
  at SymbolIndex.module.exports.SymbolIndex.update (/home/ariofrio/.atom/packages/goto/lib/symbol-index.coffee:108:8)
  at SymbolIndex.module.exports.SymbolIndex.getAllSymbols (/home/ariofrio/.atom/packages/goto/lib/symbol-index.coffee:99:6)
  at Object.module.exports.gotoProjectSymbol (/home/ariofrio/.atom/packages/goto/lib/index.coffee:38:22)
  at atom-workspace.<anonymous> (/home/ariofrio/.atom/packages/goto/lib/index.coffee:18:59)
  at atom-workspace.handler (/opt/atom/resources/app/src/space-pen-extensions.js:115:32)
  at atom-workspace.jQuery.event.dispatch (/opt/atom/resources/app/node_modules/space-pen/vendor/jquery.js:4681:9)
  at atom-workspace.elemData.handle (/opt/atom/resources/app/node_modules/space-pen/vendor/jquery.js:4359:46)
  at CommandRegistry.module.exports.CommandRegistry.handleCommandEvent (/opt/atom/resources/app/src/command-registry.js:243:29)
  at /opt/atom/resources/app/src/command-registry.js:3:61
  at KeymapManager.module.exports.KeymapManager.dispatchCommandEvent (/opt/atom/resources/app/node_modules/atom-keymap/lib/keymap-manager.js:558:16)
  at KeymapManager.module.exports.KeymapManager.handleKeyboardEvent (/opt/atom/resources/app/node_modules/atom-keymap/lib/keymap-manager.js:396:22)
  at HTMLDocument.module.exports.WindowEventHandler.onKeydown (/opt/atom/resources/app/src/window-event-handler.js:172:20)

Busted

Seems to be broken right now.

I can view the list of gotos, but selection and going to doesn't work at all. Typing any key dismissed the window.

Parse headings in markdown as symbols

I thought it would be handy to offer the headings in a markdown file as headings. It’s certainly useful when using the “File Symbol” command.

On the other hand, that means headers in markdown files in your project will get lumped in with code symbols when using the “Project Symbol” command.

Thoughts? I’ve implemented it locally and could publish it on a branch or make a PR if you wanted to give it a try.

Workspace.getActiveEditor is deprecated.

Call ::getActiveTextEditor instead

Workspace.getActiveEditor (/Applications/Atom.app/Contents/Resources/app.asar/src/workspace.js:1022:12)
SymbolIndex.gotoDeclaration (/Users/Jamie/.atom/packages/goto/lib/symbol-index.coffee:121:23)
Object.gotoDeclaration (/Users/Jamie/.atom/packages/goto/lib/index.coffee:33:21)
atom-workspace.<anonymous> (/Users/Jamie/.atom/packages/goto/lib/index.coffee:20:55)
atom-workspace.handler (/Applications/Atom.app/Contents/Resources/app.asar/src/space-pen-extensions.js:115:32)
atom-workspace.jQuery.event.dispatch (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/space-pen/vendor/jquery.js:4681:9)

WorkspaceView.appendToTop is deprecated.

Please use Workspace::addTopPanel() instead

WorkspaceView.appendToTop (/Applications/Atom.app/Contents/Resources/app.asar/src/workspace-view.js:139:7)
GotoView.attach (/Users/Jamie/.atom/packages/goto/lib/goto-view.coffee:37:23)
GotoView.populate (/Users/Jamie/.atom/packages/goto/lib/goto-view.coffee:43:5)
Object.gotoDeclaration (/Users/Jamie/.atom/packages/goto/lib/index.coffee:35:16)
atom-workspace.<anonymous> (/Users/Jamie/.atom/packages/goto/lib/index.coffee:20:55)
atom-workspace.handler (/Applications/Atom.app/Contents/Resources/app.asar/src/space-pen-extensions.js:115:32)

Project.resolve is deprecated.

Use Project::getDirectories()[0]?.resolve() instead

Project.resolve (/Applications/Atom.app/Contents/Resources/app.asar/src/project.js:595:12)
GotoView.confirmed (/Users/Jamie/.atom/packages/goto/lib/goto-view.coffee:95:38)
GotoView.confirmSelection (/Applications/Atom.app/Contents/Resources/app.asar/src/select-list-view.js:331:21)
HTMLLIElement.<anonymous> (/Applications/Atom.app/Contents/Resources/app.asar/src/select-list-view.js:130:19)
HTMLLIElement.handler (/Applications/Atom.app/Contents/Resources/app.asar/src/space-pen-extensions.js:112:34)
HTMLOListElement.jQuery.event.dispatch (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/space-pen/vendor/jquery.js:4681:9)

Index Caching?

I Must say this is one of the most useful Atom plugins to me. Use it intensively to look for symbols in my JS and Sass files.
One small note though. Not sure if there is any sort of caching that could improve the global symbol search, sometimes it does take a few seconds to show results.

Again, this is a minor issue, although something that could improve the usage experience.

Atom.Object.defineProperty.get is deprecated.

The atom.syntax global is deprecated. Use atom.grammars instead.

Atom.Object.defineProperty.get (/Applications/Atom.app/Contents/Resources/app/src/atom.js:325:11)
SymbolIndex.processFile (/Users/spacebiker/.atom/packages/goto/lib/symbol-index.coffee:175:19)

Way to exclude files/folders

The plugin is crashing Atom when I try to invoke the Project Symbols or Rebuild the Index.
The project itself is reasonable small, but it does include a node_modules folder where I keep my dependencies to run Gulp. I believe this might be significantly increasing the time Goto takes to index all symbols, not to mention the pollution it can cause when invoking the Project Symbols command.

Would it be possible to have a way to exclude files/folders from indexing?

Changelog

Having a changelog.md is important for users to see what changed in terms of performance, API, usage, bug fixes, feature additions, etc.

Uncaught TypeError: undefined is not a function

Uncaught TypeError: undefined is not a function

Atom Version: 0.162.0
System: Mac OS X 10.10.1
Thrown From: goto package, v1.7.0

Steps To Reproduce

  1. Disable goto and symbol view
  2. Open settings
  3. Go to keybindings
  4. Click on search keybindings
  5. Press cmd+r

Stack Trace

At /Users/AlexKR/.atom/packages/goto/lib/index.coffee:43

TypeError: undefined is not a function
  at Object.module.exports.gotoFileSymbol (/Users/AlexKR/.atom/packages/goto/lib/index.coffee:43:12)
  at atom-workspace.<anonymous> (/Users/AlexKR/.atom/packages/goto/lib/index.coffee:19:56)
  at atom-workspace.handler (/opt/homebrew-cask/Caskroom/atom/latest/Atom.app/Contents/Resources/app/src/space-pen-extensions.js:115:32)
  at atom-workspace.jQuery.event.dispatch (/opt/homebrew-cask/Caskroom/atom/latest/Atom.app/Contents/Resources/app/node_modules/space-pen/vendor/jquery.js:4681:9)
  at atom-workspace.elemData.handle (/opt/homebrew-cask/Caskroom/atom/latest/Atom.app/Contents/Resources/app/node_modules/space-pen/vendor/jquery.js:4359:46)
  at CommandRegistry.module.exports.CommandRegistry.handleCommandEvent (/opt/homebrew-cask/Caskroom/atom/latest/Atom.app/Contents/Resources/app/src/command-registry.js:243:29)
  at /opt/homebrew-cask/Caskroom/atom/latest/Atom.app/Contents/Resources/app/src/command-registry.js:3:61
  at KeymapManager.module.exports.KeymapManager.dispatchCommandEvent (/opt/homebrew-cask/Caskroom/atom/latest/Atom.app/Contents/Resources/app/node_modules/atom-keymap/lib/keymap-manager.js:549:16)
  at KeymapManager.module.exports.KeymapManager.handleKeyboardEvent (/opt/homebrew-cask/Caskroom/atom/latest/Atom.app/Contents/Resources/app/node_modules/atom-keymap/lib/keymap-manager.js:391:22)
  at HTMLDocument.module.exports.WindowEventHandler.onKeydown (/opt/homebrew-cask/Caskroom/atom/latest/Atom.app/Contents/Resources/app/src/window-event-handler.js:167:20)

/cc @atom/core

Javascript global vars need indexing

In the following, ExampleView isn't recognized as a symbol because its scope is simply "source.js".

var ExampleView = Backbone.View.extend({})

This particular project is client-side and not using require/AMD so it is a global symbol. If it was using some kind of module system, it would need to be a local symbol.

This may mean that using syntax files will never be sufficient (but I really hate relying on ctags).

TextEditorView.scrollToBufferPosition is deprecated.

Use TextEditor::scrollToBufferPosition instead. You can get the editor via editorView.getModel()

TextEditorView.scrollToBufferPosition (/Applications/Atom.app/Contents/Resources/app.asar/src/text-editor-view.js:221:7)
moveToPosition (/Users/Jamie/.atom/packages/goto/lib/symbol-utils.coffee:9:17)
<unknown> (/Users/Jamie/.atom/packages/goto/lib/symbol-utils.coffee:4:6)
_fulfilled (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/q/q.js:794:54)
self.promiseDispatch.done (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/q/q.js:823:30)
Promise.promiseDispatch (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/q/q.js:756:13)

Workspace.eachEditor is deprecated.

Use Workspace::observeTextEditors instead

Workspace.eachEditor (/Applications/Atom.app/Contents/Resources/app.asar/src/workspace.js:965:7)
SymbolIndex.subscribe (/Users/Jamie/.atom/packages/goto/lib/symbol-index.coffee:80:19)
new SymbolIndex (/Users/Jamie/.atom/packages/goto/lib/symbol-index.coffee:49:5)
Object.activate (/Users/Jamie/.atom/packages/goto/lib/index.coffee:16:36)
Package.activateNow (/Applications/Atom.app/Contents/Resources/app.asar/src/package.js:238:19)
<unknown> (/Applications/Atom.app/Contents/Resources/app.asar/src/package.js:772:25)

Atom.Object.defineProperty.get is deprecated.

atom.workspaceView is no longer available.
In most cases you will not need the view. See the Workspace docs for
alternatives: https://atom.io/docs/api/latest/Workspace.
If you do need the view, please use atom.views.getView(atom.workspace),
which returns an HTMLElement.

Atom.Object.defineProperty.get (/Applications/Atom.app/Contents/Resources/app.asar/src/atom.js:57:13)
Object.activate (/Users/Jamie/.atom/packages/goto/lib/index.coffee:21:9)
Package.activateNow (/Applications/Atom.app/Contents/Resources/app.asar/src/package.js:238:19)
<unknown> (/Applications/Atom.app/Contents/Resources/app.asar/src/package.js:772:25)
Emitter.emit (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/event-kit/lib/emitter.js:82:11)
CommandRegistry.module.exports.CommandRegistry.handleCommandEvent (/Applications/Atom.app/Contents/Resources/app.asar/src/command-registry.js:219:20)

Deprecated Atom APIs will be removed June 1st

Atom will no longer load this package after June 1st without changes. There are a couple deprecations on the latest version (1.7.0) of this package:

  1. The context menu CSON format has changed. Please see https://atom.io/docs/api/latest/ContextMenuManager#context-menu-cson-format for more info.
  2. Store package style sheets in the styles/ directory instead of stylesheets/ in the <pack-name> package
  3. Use activationCommands instead of activationEvents in your package.json Commands should be grouped by selector as follows: json "activationCommands": { "atom-workspace": ["foo:bar", "foo:baz"], "atom-text-editor": ["foo:quux"] }
  4. Use a config schema instead. See the configuration section of https://atom.io/docs/latest/hacking-atom-package-word-count and https://atom.io/docs/api/latest/Config for more details
  5. Requiring $$ from atom is no longer supported. Please require atom-space-pen-views instead: {$$} = require 'atom-space-pen-views' Add "atom-space-pen-views": "^2.0.3" to your package dependencies.
  6. Requiring SelectListView from atom is no longer supported. Please require SelectListView from atom-space-pen-view instead: {SelectListView} = require 'atom-space-pen-views' Note that the API has changed slightly! Please read the docs at https://github.com/atom/atom-space-pen-views Add "atom-space-pen-views": "^2.0.3" to your package dependencies.
  7. atom.workspaceView is no longer available. In most cases you will not need the view. See the Workspace docs for alternatives: https://atom.io/docs/api/latest/Workspace. If you do need the view, please use atom.views.getView(atom.workspace), which returns an HTMLElement.
  8. Project::on is deprecated. Use documented event subscription methods instead.
  9. TextEditor::on is deprecated. Use documented event subscription methods instead.
  10. Use ::getDirectories instead
  11. Use ::getRepositories instead
  12. Use TextBuffer::onDidDestroy instead
  13. Use TextBuffer::onDidStopChanging instead. If you need the modified status, call TextBuffer::isModified yourself in your callback.
  14. Use TextEditor::onDidChangeGrammar instead
  15. Use Workspace::observeTextEditors instead
  16. Use Project::onDidChangePaths instead
  17. Use Workspace::getTextEditors instead
  18. Use Workspace::onDidAddTextEditor or Workspace::observeTextEditors instead.
  19. Use TextEditor::moveToFirstCharacterOfLine() instead
  20. Use TextEditor::scrollToBufferPosition instead. You can get the editor via editorView.getModel()
  21. Please use Workspace::addTopPanel() instead
  22. Use Project::getDirectories()[0]?.resolve() instead
  23. The atom.syntax global is deprecated. Use atom.grammars instead.
  24. Call ::getActiveTextEditor instead
  25. Use TextEditor::getLastCursor() instead

Visit https://gist.github.com/benogle/6d09e295c84b717ef9b4 and search for your package name to see up-to-date deprecations.

If this package has been replaced by another package or functionality in core, please reply with this information.

See atom/atom#6867 for more info. Thanks!

Workspace.on is deprecated.

Use Workspace::onDidAddTextEditor or Workspace::observeTextEditors instead.

Workspace.on (/Applications/Atom.app/Contents/Resources/app.asar/src/workspace.js:995:11)
Workspace.subscribeWith (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/emissary/lib/subscriber.js:28:32)
Workspace.subscribe (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/emissary/lib/subscriber.js:63:21)
Workspace.eachEditor (/Applications/Atom.app/Contents/Resources/app.asar/src/workspace.js:971:19)
SymbolIndex.subscribe (/Users/Jamie/.atom/packages/goto/lib/symbol-index.coffee:80:19)
new SymbolIndex (/Users/Jamie/.atom/packages/goto/lib/symbol-index.coffee:49:5)

Package.getActivationCommands is deprecated.

Use activationCommands instead of activationEvents in your package.json
Commands should be grouped by selector as follows:

  "activationCommands": {
    "atom-workspace": ["foo:bar", "foo:baz"],
    "atom-text-editor": ["foo:quux"]
  }
Package.getActivationCommands (/Applications/Atom.app/Contents/Resources/app.asar/src/package.js:808:9)
Package.hasActivationCommands (/Applications/Atom.app/Contents/Resources/app.asar/src/package.js:733:20)
<unknown> (/Applications/Atom.app/Contents/Resources/app.asar/src/package.js:185:24)
Package.measure (/Applications/Atom.app/Contents/Resources/app.asar/src/package.js:163:15)
Package.load (/Applications/Atom.app/Contents/Resources/app.asar/src/package.js:177:12)
PackageManager.loadPackage (/Applications/Atom.app/Contents/Resources/app.asar/src/package-manager.js:355:14)

Uncaught NotFoundError: Failed to execute 'appendChild' on 'Node': The node to be removed is no longer a child of this node. Perhaps it was moved in a 'blur' event handler?

Uncaught NotFoundError: Failed to execute 'appendChild' on 'Node': The node to be removed is no longer a child of this node. Perhaps it was moved in a 'blur' event handler?

Atom Version: 0.158.0
System: Mac OS X 10.10.1
Thrown From: goto package, v1.7.0

Steps To Reproduce

  1. ...
  2. ...

Stack Trace

At /Applications/Atom.app/Contents/Resources/app/node_modules/space-pen/vendor/jquery.js:5823

Error: Failed to execute 'appendChild' on 'Node': The node to be removed is no longer a child of this node. Perhaps it was moved in a 'blur' event handler?
  at Error (native)
  at Function.jQuery.extend.buildFragment (/Applications/Atom.app/Contents/Resources/app/node_modules/space-pen/vendor/jquery.js:5830:27)
  at PaneContainerView.jQuery.fn.extend.domManip (/Applications/Atom.app/Contents/Resources/app/node_modules/space-pen/vendor/jquery.js:5636:22)
  at PaneContainerView.jQuery.fn.extend.before (/Applications/Atom.app/Contents/Resources/app/node_modules/space-pen/vendor/jquery.js:5476:15)
  at PaneContainerView.jQuery.fn.(anonymous function) [as before] (/Applications/Atom.app/Contents/Resources/app/node_modules/space-pen/lib/space-pen.js:396:31)
  at WorkspaceView.module.exports.WorkspaceView.appendToTop (/Applications/Atom.app/Contents/Resources/app/src/workspace-view.js:135:25)
  at GotoView.module.exports.GotoView.attach (/Users/misahot/.atom/packages/goto/lib/goto-view.coffee:37:24)
  at GotoView.module.exports.GotoView.populate (/Users/misahot/.atom/packages/goto/lib/goto-view.coffee:43:6)
  at Object.module.exports.gotoProjectSymbol (/Users/misahot/.atom/packages/goto/lib/index.coffee:39:15)
  at atom-workspace.<anonymous> (/Users/misahot/.atom/packages/goto/lib/index.coffee:18:59)
  at atom-workspace.handler (/Applications/Atom.app/Contents/Resources/app/src/space-pen-extensions.js:115:32)
  at atom-workspace.jQuery.event.dispatch (/Applications/Atom.app/Contents/Resources/app/node_modules/space-pen/vendor/jquery.js:4681:9)
  at atom-workspace.elemData.handle (/Applications/Atom.app/Contents/Resources/app/node_modules/space-pen/vendor/jquery.js:4359:46)
  at CommandRegistry.module.exports.CommandRegistry.handleCommandEvent (/Applications/Atom.app/Contents/Resources/app/src/command-registry.js:243:29)
  at /Applications/Atom.app/Contents/Resources/app/src/command-registry.js:3:61
  at KeymapManager.module.exports.KeymapManager.dispatchCommandEvent (/Applications/Atom.app/Contents/Resources/app/node_modules/atom-keymap/lib/keymap-manager.js:549:16)
  at KeymapManager.module.exports.KeymapManager.handleKeyboardEvent (/Applications/Atom.app/Contents/Resources/app/node_modules/atom-keymap/lib/keymap-manager.js:391:22)
  at HTMLDocument.module.exports.WindowEventHandler.onKeydown (/Applications/Atom.app/Contents/Resources/app/src/window-event-handler.js:167:20)

/cc @atom/core

Auto-scroll to Symbol

Quick suggestion: Would it be possible to auto-scroll to symbol as we move along the list? That would be really useful.

Roadmap : GOTO Next

After we fixed Outstanding problems , i am planning to do some cool features:

  • Disk based indexes
  • Grouping : Grouping of symbols based on grammer type.
  • Symbol Zen : Focus mode that swoop directly to the area of symbol and code there, hiding (or auto folding ) all other parts
  • Symbols Crumb : When enabled , a Breadcrumb Navigation will be added below the tab bar . Using it we can navigate Symbols within current file. Also when we move focus to a particular symbol , navigation will be updated to show where we are.

Object.Object.defineProperty.get is deprecated.

Requiring $$ from atom is no longer supported.
Please require atom-space-pen-views instead:
{$$} = require 'atom-space-pen-views'
Add "atom-space-pen-views": "^2.0.3" to your package dependencies.

Object.Object.defineProperty.get (/Applications/Atom.app/Contents/Resources/app.asar/exports/atom.js:54:11)
Object.<anonymous> (/Users/Jamie/.atom/packages/goto/lib/goto-view.coffee:4:1)
Object.<anonymous> (/Users/Jamie/.atom/packages/goto/lib/goto-view.coffee:145:4)
Module._compile (module.js:452:26)
Object.requireCoffeeScript (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/coffee-cash/lib/coffee-cash.js:85:19)
Module.load (module.js:347:32)

Package.getStylesheetsPath is deprecated.

Store package style sheets in the styles/ directory instead of stylesheets/ in the goto package

Package.getStylesheetsPath (/Applications/Atom.app/Contents/Resources/app.asar/src/package.js:460:9)
Package.getStylesheetPaths (/Applications/Atom.app/Contents/Resources/app.asar/src/package.js:471:32)
Package.loadStylesheets (/Applications/Atom.app/Contents/Resources/app.asar/src/package.js:453:38)
<unknown> (/Applications/Atom.app/Contents/Resources/app.asar/src/package.js:183:19)
Package.measure (/Applications/Atom.app/Contents/Resources/app.asar/src/package.js:163:15)
Package.load (/Applications/Atom.app/Contents/Resources/app.asar/src/package.js:177:12)

Workspace.getEditors is deprecated.

Use Workspace::getTextEditors instead

Workspace.getEditors (/Applications/Atom.app/Contents/Resources/app.asar/src/workspace.js:977:7)
Workspace.eachEditor (/Applications/Atom.app/Contents/Resources/app.asar/src/workspace.js:966:20)
SymbolIndex.subscribe (/Users/Jamie/.atom/packages/goto/lib/symbol-index.coffee:80:19)
new SymbolIndex (/Users/Jamie/.atom/packages/goto/lib/symbol-index.coffee:49:5)
Object.activate (/Users/Jamie/.atom/packages/goto/lib/index.coffee:16:36)
Package.activateNow (/Applications/Atom.app/Contents/Resources/app.asar/src/package.js:238:19)

Project.getRootDirectory is deprecated.

Use ::getDirectories instead

Project.getRootDirectory (/Applications/Atom.app/Contents/Resources/app.asar/src/project.js:591:12)
new SymbolIndex (/Users/Jamie/.atom/packages/goto/lib/symbol-index.coffee:34:25)
Object.activate (/Users/Jamie/.atom/packages/goto/lib/index.coffee:16:36)
Package.activateNow (/Applications/Atom.app/Contents/Resources/app.asar/src/package.js:238:19)
<unknown> (/Applications/Atom.app/Contents/Resources/app.asar/src/package.js:772:25)
Emitter.emit (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/event-kit/lib/emitter.js:82:11)

Package.activateConfig is deprecated.

Use a config schema instead. See the configuration section
of https://atom.io/docs/latest/hacking-atom-package-word-count and
https://atom.io/docs/api/latest/Config for more details

Package.activateConfig (/Applications/Atom.app/Contents/Resources/app.asar/src/package.js:263:11)
Package.activateNow (/Applications/Atom.app/Contents/Resources/app.asar/src/package.js:234:14)
<unknown> (/Applications/Atom.app/Contents/Resources/app.asar/src/package.js:772:25)
Emitter.emit (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/event-kit/lib/emitter.js:82:11)
CommandRegistry.module.exports.CommandRegistry.handleCommandEvent (/Applications/Atom.app/Contents/Resources/app.asar/src/command-registry.js:219:20)
<unknown> (/Applications/Atom.app/Contents/Resources/app.asar/src/command-registry.js:3:61)

TextEditor.on is deprecated.

TextEditor::on is deprecated. Use documented event subscription methods instead.

TextEditor.on (/Applications/Atom.app/Contents/Resources/app.asar/src/text-editor.js:3044:11)
<unknown> (/Users/Jamie/.atom/packages/goto/lib/symbol-index.coffee:84:13)
Workspace.eachEditor (/Applications/Atom.app/Contents/Resources/app.asar/src/workspace.js:969:9)
SymbolIndex.subscribe (/Users/Jamie/.atom/packages/goto/lib/symbol-index.coffee:80:19)
new SymbolIndex (/Users/Jamie/.atom/packages/goto/lib/symbol-index.coffee:49:5)
Object.activate (/Users/Jamie/.atom/packages/goto/lib/index.coffee:16:36)

Atom 0.176.0 crashes using go to declaration on Ubuntu 14.04

Atom 0.176.0 crashes using go to declaration on Ubuntu 14.04 within a Magento project.
I've disabled all other external packages but no luck.

For example:

  1. Open app/code/core/Mage/Core/controllers/IndexController.php
  2. Mark Mage_Core_Controller_Front_Action
  3. Trigger go to declaration
  4. Atom hangs using 100% cpu and crashes after a while.

Anything I can do to help?

Save index in disk.

Currently , it keeps indexes in Memory, that cause out of memory , swapping even a regular sized project . if we could keep indexes in disk it will be a lot more reliable.

My proposal is :

  • json dump of indexes for each files
  • each index file contains {'filepath' : [{index Objects}]}
  • Look up related path from json indexes.

Thoughts?

UPDATE:

Atom have Localstore support and we can use IndexedDB , even better : Pouchdb.com , that way , we can query quickly without worrying about index files manually.

TextEditor.moveCursorToFirstCharacterOfLine is deprecated.

Use TextEditor::moveToFirstCharacterOfLine() instead

TextEditor.moveCursorToFirstCharacterOfLine (/Applications/Atom.app/Contents/Resources/app.asar/src/text-editor.js:2899:7)
moveToPosition (/Users/Jamie/.atom/packages/goto/lib/symbol-utils.coffee:11:13)
<unknown> (/Users/Jamie/.atom/packages/goto/lib/symbol-utils.coffee:4:6)
_fulfilled (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/q/q.js:794:54)
self.promiseDispatch.done (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/q/q.js:823:30)
Promise.promiseDispatch (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/q/q.js:756:13)

Failed to activate the goto package

[Enter steps to reproduce below:]

  1. ...
  2. ...

Atom Version: 0.198.0
System: linux 3.16.0-36-generic
Thrown From: goto package, v1.7.0

Stack Trace

Failed to activate the goto package

At Cannot find module 'underscore'

Error: Cannot find module 'underscore'
  at Module._resolveFilename (module.js:328:15)
  at Function.Module._resolveFilename (/usr/share/atom/resources/app.asar/src/module-cache.js:383:52)
  at Function.Module._load (module.js:270:25)
  at Module.require (module.js:357:17)
  at require (module.js:376:17)
  at Object.<anonymous> (/home/fred/.atom/packages/goto/lib/symbol-index.coffee:4:5)
  at Object.<anonymous> (/home/fred/.atom/packages/goto/lib/symbol-index.coffee:2:1)
  at Module._compile (module.js:452:26)
  at Object.requireCoffeeScript (/usr/share/atom/resources/app.asar/node_modules/coffee-cash/lib/coffee-cash.js:85:19)
  at Module.load (module.js:347:32)
  at Function.Module._load (module.js:302:12)
  at Module.require (module.js:357:17)
  at require (module.js:376:17)
  at Object.<anonymous> (/home/fred/.atom/packages/goto/lib/index.coffee:2:15)
  at Object.<anonymous> (/home/fred/.atom/packages/goto/lib/index.coffee:2:1)
  at Module._compile (module.js:452:26)
  at Object.requireCoffeeScript (/usr/share/atom/resources/app.asar/node_modules/coffee-cash/lib/coffee-cash.js:85:19)
  at Module.load (module.js:347:32)
  at Function.Module._load (module.js:302:12)
  at Module.require (module.js:357:17)
  at require (module.js:376:17)
  at Package.module.exports.Package.requireMainModule (/usr/share/atom/resources/app.asar/src/package.js:711:34)
  at Package.module.exports.Package.activateConfig (/usr/share/atom/resources/app.asar/src/package.js:259:12)
  at Package.module.exports.Package.activateNow (/usr/share/atom/resources/app.asar/src/package.js:238:14)
  at /usr/share/atom/resources/app.asar/src/package.js:774:25
  at Emitter.module.exports.Emitter.emit (/usr/share/atom/resources/app.asar/node_modules/event-kit/lib/emitter.js:82:11)
  at CommandRegistry.module.exports.CommandRegistry.handleCommandEvent (/usr/share/atom/resources/app.asar/src/command-registry.js:219:20)
  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:519:16)
  at KeymapManager.module.exports.KeymapManager.handleKeyboardEvent (/usr/share/atom/resources/app.asar/node_modules/atom-keymap/lib/keymap-manager.js:354:22)
  at HTMLDocument.module.exports.WindowEventHandler.onKeydown (/usr/share/atom/resources/app.asar/src/window-event-handler.js:178:20)

Commands

     -0:41.8.0 fuzzy-finder:toggle-file-finder (atom-text-editor.editor.is-focused)
     -0:36.9.0 editor:consolidate-selections (atom-text-editor.editor.mini.is-focused)
     -0:36.9.0 core:cancel (atom-text-editor.editor.mini.is-focused)
     -0:35.7.0 command-palette:toggle (atom-text-editor.editor.is-focused)
     -0:33.6.0 core:backspace (atom-text-editor.editor.mini.is-focused)
     -0:32.4.0 core:confirm (atom-text-editor.editor.mini.is-focused)
     -0:32.3.0 settings-view:open (atom-text-editor.editor)
  2x -0:23.9.0 core:backspace (atom-text-editor.editor.mini.is-focused)
     -0:20.9.0 core:close (atom-text-editor.editor.mini.is-focused)
     -0:18.6.0 find-and-replace:show (atom-text-editor.editor.is-focused)
     -0:17.7.0 editor:consolidate-selections (atom-text-editor.editor.mini.is-focused)
     -0:17.7.0 core:cancel (atom-text-editor.editor.mini.is-focused)
  2x -0:17 editor:move-to-end-of-word (atom-text-editor.editor.is-focused)
     -0:05.2.0 fuzzy-finder:toggle-file-finder (atom-text-editor.editor.is-focused)
     -0:02.7.0 core:confirm (atom-text-editor.editor.mini.is-focused)
     -0:00.8.0 goto:file-symbol (atom-text-editor.editor.is-focused)

Config

{
  "core": {
    "disabledPackages": [
      "metrics",
      "autocomplete",
      "autocomplete-plus-python-jedi",
      "linter-clang",
      "linter-pylama",
      "linter-ruby"
    ]
  }
}

Installed Packages

# User
autocomplete-paths, v1.0.2
autocomplete-plus, v2.12.0
autocomplete-snippets, v1.2.0
docblockr, v0.6.3
emmet, v2.3.8
goto, v1.7.0
linter, v0.12.1
linter-jshint, v0.1.2
linter-php, v0.0.12
linter-phpcs, v0.0.14
linter-phpmd, v0.0.10
linter-shellcheck, v0.0.7
minimap, v4.7.6
script, v2.19.0
tabs-to-spaces, v0.9.2

# Dev
No dev packages

Failed to load the goto package

[Enter steps to reproduce below:]

  1. upgrade atom to 0.196
  2. launch atom

2015-05-01 at 8 16 am

Atom Version: 0.196.0 ⚠️ in 1.0 API Preview Mode ⚠️
System: Mac OS X 10.10.3
Thrown From: goto package, v1.7.0

Stack Trace

Failed to load the goto package

At Cannot read property 'prototype' of undefined

TypeError: Cannot read property 'prototype' of undefined
    at __extends (/Users/pjv/.atom/packages/goto/lib/goto-view.coffee:4:199)
    at /Users/pjv/.atom/packages/goto/lib/goto-view.coffee:15:5
    at Object.<anonymous> (/Users/pjv/.atom/packages/goto/lib/goto-view.coffee:143:5)
    at Object.<anonymous> (/Users/pjv/.atom/packages/goto/lib/goto-view.coffee:145:4)
    at Module._compile (module.js:452:26)
    at Object.requireCoffeeScript (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/coffee-cash/lib/coffee-cash.js:85:19)
    at Module.load (module.js:347:32)
    at Function.Module._load (module.js:302:12)
    at Module.require (module.js:357:17)
    at require (module.js:376:17)

Commands

Config

{
  "core": {
    "disabledPackages": [
      "wrap-guide",
      "mobile-preview",
      "metrics",
      "autosave",
      "autocomplete",
      "symbols-view",
      "project-manager",
      "archive-view",
      "autoflow",
      "background-tips",
      "bookmarks",
      "color-picker",
      "merge-conflicts",
      "spell-check",
      "styleguide",
      "Stylus",
      "atom-ctags",
      "language-generic-config",
      "error-status",
      "atom-color-highlight",
      "markdown-format",
      "atom-handlebars",
      "compare-files",
      "editorconfig",
      "linter-handlebars",
      "prefixr",
      "coffee-lint",
      "coffee-navigator"
    ],
    "themes": [
      "one-dark-ui",
      "pjvish-syntax"
    ],
    "projectHome": "/Users/pjv/development/projects"
  }
}

Installed Packages

# User
Sublime-Style-Column-Selection, v1.2.3
assign-align, v0.1.0
autocomplete-paths, v1.0.2
autocomplete-plus, v2.12.1
autocomplete-plus-python-jedi, v0.2.7
autocomplete-snippets, v1.3.0
coffee-porter, v0.1.0
css-color-highlighting, v0.2.4
emmet, v2.3.8
file-icons, v1.5.4
goto, v1.7.0
html-entities, v0.3.1
indentation-indicator, v0.4.1
language-nginx, v0.5.2
language-stylus, v0.1.0
linter, v0.12.1
linter-coffeelint, v0.2.1
linter-jshint, v0.1.2
linter-php, v0.0.12
permute, v0.1.0
pjvish-syntax, v0.1.0
simple-drag-drop-text, v0.2.2
slash-closer, v0.7.1
smart-quotes-plus, v1.2.0
space-tab, v0.1.0

# Dev
language-less, v0.24.0

File Symbol disappears after any keypress on windows

Environment: Windows 8.1 64-bit
Atom version: v0.124.0
Goto: 1.7.0
apm list:

C:\Users\itsnotvalid\.atom\packages (26)
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected] (disabled)
├── [email protected] (disabled)
├── [email protected] (disabled)
├── [email protected] (disabled)
├── [email protected] (disabled)
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
└── [email protected] (disabled)

How to reproduce:

  1. Open some js files (as i mostly use atom for JS, not sure with other file types), then press Ctrl+R (or Ctrl+Shift+P, then type goto file symbol)
  2. Wait for the list to appear
  3. press any keyboard button

To contrast, symbol-view's command still work without any problems, nor other goto's commands (e.g. project symbols, declaration)

goto:file-symbol cant select file from list

Symbols get displayed correctly in the Select-List, but i cannot select a file from the list.
Also when i try to search in the Select-List, it jumps back in the file after 2 chars typed.

Atom Version: 0.104.0 (0.104.0)
Mac OS 10.9.3

Project.on is deprecated.

Use Project::onDidChangePaths instead

Project.on (/Applications/Atom.app/Contents/Resources/app.asar/src/project.js:572:14)
SymbolIndex.subscribe (/Users/Jamie/.atom/packages/goto/lib/symbol-index.coffee:56:17)
new SymbolIndex (/Users/Jamie/.atom/packages/goto/lib/symbol-index.coffee:49:5)
Object.activate (/Users/Jamie/.atom/packages/goto/lib/index.coffee:16:36)
Package.activateNow (/Applications/Atom.app/Contents/Resources/app.asar/src/package.js:238:19)
<unknown> (/Applications/Atom.app/Contents/Resources/app.asar/src/package.js:772:25)

Indexing hangs Atom

Indexing completely fails on my codebase which is reasonably large but not huge (about 35MB). Atom hangs completely and the memory use of the process keeps growing. I've had this continue for up to 15 minutes before giving up and killing the process. I do have a very large media folder but I assume it will be ignoring image asset files. The code base is a PHP/Magento installation. Running on Windows, Atom v0.129.0.

Uncaught Error: EACCES, permission denied

If there is a file with no read permission or a directory with no execute permission in the project, goto:project-symbol fails with this error :

Uncaught Error: EACCES, permission denied '/removed/for/privacy/.Trash-3008' fs.js:691

goto file symbol support for RSpec

It should index by describe and context blocks.

describe "First symbol" do
  before { do_nothing }

  context "second symbol" do
    it "probably not a symbol" do
      does nothing
    end
  end
end

TextBuffer.on is deprecated.

Use TextBuffer::onDidStopChanging instead. If you need the modified status, call TextBuffer::isModified yourself in your callback.

TextBuffer.on (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/text-buffer/lib/text-buffer.js:1274:16)
<unknown> (/Users/Jamie/.atom/packages/goto/lib/symbol-index.coffee:74:13)
Project.eachBuffer (/Applications/Atom.app/Contents/Resources/app.asar/src/project.js:512:9)
SymbolIndex.subscribe (/Users/Jamie/.atom/packages/goto/lib/symbol-index.coffee:72:17)
new SymbolIndex (/Users/Jamie/.atom/packages/goto/lib/symbol-index.coffee:49:5)
Object.activate (/Users/Jamie/.atom/packages/goto/lib/index.coffee:16:36)

Project.getRepo is deprecated.

Use ::getRepositories instead

Project.getRepo (/Applications/Atom.app/Contents/Resources/app.asar/src/project.js:579:12)
new SymbolIndex (/Users/Jamie/.atom/packages/goto/lib/symbol-index.coffee:35:25)
Object.activate (/Users/Jamie/.atom/packages/goto/lib/index.coffee:16:36)
Package.activateNow (/Applications/Atom.app/Contents/Resources/app.asar/src/package.js:238:19)
<unknown> (/Applications/Atom.app/Contents/Resources/app.asar/src/package.js:772:25)
Emitter.emit (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/event-kit/lib/emitter.js:82:11)

TextEditor.getCursor is deprecated.

Use TextEditor::getLastCursor() instead

TextEditor.getCursor (/Applications/Atom.app/Contents/Resources/app.asar/src/text-editor.js:2947:7)
SymbolIndex.gotoDeclaration (/Users/Jamie/.atom/packages/goto/lib/symbol-index.coffee:122:31)
Object.gotoDeclaration (/Users/Jamie/.atom/packages/goto/lib/index.coffee:33:21)
atom-workspace.<anonymous> (/Users/Jamie/.atom/packages/goto/lib/index.coffee:20:55)
atom-workspace.handler (/Applications/Atom.app/Contents/Resources/app.asar/src/space-pen-extensions.js:115:32)
atom-workspace.jQuery.event.dispatch (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/space-pen/vendor/jquery.js:4681:9)

Skip files whose grammar has no symbols

As of 1.3, files using the null grammar are skipped. This same idea can be extended to grammars that do not contain scopes we will ever identify as symbols.

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.