Git Product home page Git Product logo

atom-ternjs's Introduction

atom-ternjs

JavaScript code intelligence for atom with Tern. Adds support for ES5, ES6, ES7, ES8, Node.js and more. Extendable via plugins. Uses suggestion provider by autocomplete-plus.

Get started (configure your project)

  • Open any JavaScript file from within your project
  • Navigate to Packages -> Atom Ternjs -> Configure project
  • The config view appears. Configure to your needs.
  • Hit "Save & Restart Server" to create/update the .tern-project file. The configuration is now active.

Get started (in case you can't use configure your project)

Example .tern-project file (customize to your own needs):

{
  "ecmaVersion": 8,
  "libs": [
    "browser"
  ],
  "loadEagerly": [
    "path/to/your/js/**/*.js"
  ],
  "dontLoad": [
    "node_modules/**",
    "path/to/your/js/**/*.js"
  ],
  "plugins": {
    "es_modules": {},
    "node": {},
    "doc_comment": {
      "fullDocs": true,
      "strong": true
    }
  }
}

EcmaVersion

  • 5: use ECMAScript5
  • 6: use ECMAScript6
  • 7: use ECMAScript7
  • 8: use ECMAScript8 (default)

Libs

  • browser: completion for browser features like document.querySelector (optional)
  • chai: completion for chai (optional)
  • jquery: completion for jQuery (optional)
  • react: completion for React (optional)
  • underscore: completion for underscore (optional)

Options

  • loadEagerly: provide the path to your projects JavaScript. For relative paths do not use ./ as a prefix. This sometimes leads to an unexpected behaviour.
  • loadEagerly is expensive. Do not add paths like node_modules.
  • dontLoad: can be used to prevent Tern from loading certain files. It also takes an array of file names or glob patterns.

Plugins

Example configurations

Keybindings

List of keybindings. To use your own keybindings goto atom-ternjs package settings and disable keybindings.

Third party plugins

In order to use third party plugins (e.g. tern-node-express):

$ cd ~/.atom/packages/atom-ternjs
$ npm install tern-node-express

Add the plugin to your .tern-project file:

{
  "ecmaVersion": 8,
  "libs": [
    "browser"
  ],
  "loadEagerly": [
    "app/**/*.js"
  ],
  "plugins": {
    "node-express": {}
  }
}

Third party plugins are still an issue and sometimes do not work as expected, especially if the plugin requires a tern version that does not match the tern version that is used by atom-ternjs.

Restart the server: Packages -> Atom Ternjs -> Restart server

.tern-project created/modified

  • After the file was created or has been modified, restart the server via Packages -> Atom Ternjs -> Restart server

Features

  • Completion (autocompletion triggers automatically), or via the keybindings:
    • ctrl+space
    • ctrl+alt+space (force autocompletion in any context)

atom-ternjs

atom-ternjs

  • Find references (set your cursor position to one of variable, function or instance -> open context-menu and trigger "Find references" or use the keybindings:
    • ctrl+shift+r (macOS, Windows)
    • ctrl+alt+shift+e (Linux)

Click any item in the generated reference-list and navigate directly to file and position

atom-ternjs

  • Documentation

    • Show documentation for the thing under the cursor via alt+o (macOS, Windows, Linux) atom-ternjs
    • Also displayed if a suggestion with a valid documentation is selected in the autocomplete-plus select-list
  • Find definition (set your cursor position to one of variable, function or instance -> open context-menu and trigger "Find definition") or use the keybindings:

    • cmd+click (macOS, Windows, Linux), requires https://atom.io/packages/hyperclick. Since cmd+click is also used for multi-line editing in macOS you should change the default hyperclick settings.
    • ctrl+alt+shift+d (macOS, Windows, Linux)
  • Navigate back or forward

    • ctrl+shift+cmd+left (macOS, Windows, Linux)
    • ctrl+shift+cmd+right (macOS, Windows, Linux)
  • Rename variable (set your cursor position to a variable -> open context-menu and trigger "Rename") or use the keybindings:

    • ctrl+alt+c (macOS, Windows)
    • ctrl+alt+shift+c (Linux)

atom-ternjs's People

Contributors

barraponto avatar bugaevc avatar chaoyuelee avatar despairblue avatar elmariofredo avatar greenek avatar haroun avatar jccr avatar jordanbtucker avatar joseluisq avatar livelazily avatar mjomble avatar mszczepanczyk avatar nstepien avatar ocoka avatar qwelias avatar scottdavidsanders avatar seungha-kim avatar soul-wish avatar steelbrain avatar tombyrer avatar tststs avatar tupini07 avatar walles avatar xjmdoo avatar yamsellem avatar ypresto 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  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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

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

atom-ternjs's Issues

search symbol by name

Hi

is it possible with tern to open a search list to type a function/variable name and see the list of results?
something like the command palette..

Thanks!

Uncaught TypeError: Cannot read property 'replace' of undefined

I currently can't reproduce this reliably. I do realize that this is of somewhat limited help :/

Atom Version: 0.177.0
System: Mac OS X 10.10.2
Thrown From: atom-ternjs package, v0.4.15

Stack Trace

Uncaught TypeError: Cannot read property 'replace' of undefined

At /Users/timjagodzinski/.atom/packages/atom-ternjs/lib/atom-ternjs-provider.coffee:112

TypeError: Cannot read property 'replace' of undefined
  at Provider.module.exports.Provider.fixCompletion (/Users/timjagodzinski/.atom/packages/atom-ternjs/lib/atom-ternjs-provider.coffee:112:28)
  at Object.<anonymous> (/Users/timjagodzinski/.atom/packages/atom-ternjs/lib/atom-ternjs-provider.coffee:75:36)
  at Object.<anonymous> (/Users/timjagodzinski/.atom/packages/atom-ternjs/node_modules/jquery/dist/jquery.js:3251:33)
  at fire (/Users/timjagodzinski/.atom/packages/atom-ternjs/node_modules/jquery/dist/jquery.js:3094:30)
  at Object.self.fireWith [as resolveWith] (/Users/timjagodzinski/.atom/packages/atom-ternjs/node_modules/jquery/dist/jquery.js:3206:7)
  at Object.<anonymous> (/Users/timjagodzinski/.atom/packages/atom-ternjs/node_modules/jquery/dist/jquery.js:3258:41)
  at fire (/Users/timjagodzinski/.atom/packages/atom-ternjs/node_modules/jquery/dist/jquery.js:3094:30)
  at Object.self.fireWith [as resolveWith] (/Users/timjagodzinski/.atom/packages/atom-ternjs/node_modules/jquery/dist/jquery.js:3206:7)
  at done (/Users/timjagodzinski/.atom/packages/atom-ternjs/node_modules/jquery/dist/jquery.js:8259:14)
  at XMLHttpRequest.<anonymous> (/Users/timjagodzinski/.atom/packages/atom-ternjs/node_modules/jquery/dist/jquery.js:8600:9)

Commands

     -0:41.0 snippets:next-tab-stop (atom-text-editor.editor.vim-mode.autocomplete-active.is-focused.insert-mode)
     -0:41.0 snippets:expand (atom-text-editor.editor.vim-mode.autocomplete-active.is-focused.insert-mode)
     -0:41.0 editor:indent (atom-text-editor.editor.vim-mode.autocomplete-active.is-focused.insert-mode)
     -0:35.0 docblockr:parse-tab (atom-text-editor.editor.vim-mode.autocomplete-active.is-focused.insert-mode)
     -0:35.0 autocomplete-plus:confirm (atom-text-editor.editor.vim-mode.autocomplete-active.is-focused.insert-mode)
     -0:27.9 docblockr:parse-tab (atom-text-editor.editor.vim-mode.autocomplete-active.is-focused.insert-mode)
     -0:27.9 autocomplete-plus:confirm (atom-text-editor.editor.vim-mode.autocomplete-active.is-focused.insert-mode)
     -0:09.6 docblockr:parse-tab (atom-text-editor.editor.vim-mode.autocomplete-active.is-focused.insert-mode)
     -0:09.6 autocomplete-plus:confirm (atom-text-editor.editor.vim-mode.autocomplete-active.is-focused.insert-mode)
     -0:08.3 docblockr:parse-tab (atom-text-editor.editor.vim-mode.autocomplete-active.is-focused.insert-mode)
     -0:08.3 autocomplete-plus:confirm (atom-text-editor.editor.vim-mode.autocomplete-active.is-focused.insert-mode)
     -0:06.0 docblockr:parse-enter (atom-text-editor.editor.vim-mode.autocomplete-active.is-focused.insert-mode)
     -0:06.0 editor:newline (atom-text-editor.editor.vim-mode.autocomplete-active.is-focused.insert-mode)
     -0:02.3 core:backspace (atom-text-editor.editor.vim-mode.autocomplete-active.is-focused.insert-mode)
     -0:01.6 docblockr:parse-tab (atom-text-editor.editor.vim-mode.autocomplete-active.is-focused.insert-mode)
     -0:01.6 autocomplete-plus:confirm (atom-text-editor.editor.vim-mode.autocomplete-active.is-focused.insert-mode)

Config

{
  "core": {
    "themes": [
      "atom-dark-ui",
      "atom-dark-syntax"
    ],
    "disabledPackages": [
      "meteor-api"
    ]
  }
}

Installed Packages

# User
Sublime-Style-Column-Selection, v1.2.3
atom-beautify, v0.21.3
atom-color-highlight, v3.0.6
atom-handlebars, v0.4.0
atom-jshint, v1.5.0
atom-ternjs, v0.4.15
autocomplete-paths, v1.0.2
autocomplete-plus, v2.1.3
docblockr, v0.5.8
file-types, v0.3.0
filetype-color, v0.1.3
git-control, v0.1.8
jsformat, v0.7.18
language-latex, v0.4.1
language-log, v0.2.0
language-spacebars, v0.2.2
linter-handlebars, v0.1.1
pretty-json, v0.3.2
vim-mode, v0.30.0

# Dev
No dev packages

/cc @atom/core

TypeError: Cannot read property 'node' of null at findTypeAt

TypeError: Cannot read property 'node' of null at findTypeAt (/home/despairblue/.atom/packages/atom-ternjs/node_modules/tern/plugin/node.js:142:31) at /home/despairblue/.atom/packages/atom-ternjs/node_modules/tern/lib/tern.js:765:16 at Array.forEach (native) at findExprType (/home/despairblue/.atom/packages/atom-ternjs/node_modules/tern/lib/tern.js:764:28) at Object.findTypeAt [as run] (/home/despairblue/.atom/packages/atom-ternjs/node_modules/tern/lib/tern.js:788:16) at run (/home/despairblue/.atom/packages/atom-ternjs/node_modules/tern/lib/tern.js:212:30) at Object.exports.withContext (/home/despairblue/.atom/packages/atom-ternjs/node_modules/tern/lib/infer.js:732:18) at /home/despairblue/.atom/packages/atom-ternjs/node_modules/tern/lib/tern.js:219:13 at analyzeAll (/home/despairblue/.atom/packages/atom-ternjs/node_modules/tern/lib/tern.js:333:15) at doRequest (/home/despairblue/.atom/packages/atom-ternjs/node_modules/tern/lib/tern.js:203:5)

Seems to be a tern error, I think.

Happens with a file containing:

'use strict';

require('crypto');
  1. place your cursor into crypto so that it shows the parameter documentation
  2. press ctrl+/ (or cmd in your case ;) ) to comment the line

By the way it does not happen with [email protected], so using the stable versions would fix that, though I'm not sure you want that, since that version is missing the ecma6.json again.

This package breaks `project-find`

[Enter description here]

screenshot from 2015-01-15 14 58 28

Repro Steps

  1. Try to find in project Ctrl+Shift+F

Expected: Show the results in the pane
Actual: won't actually search (or at least won't show any results

Disabling this package fixes it.

Command History

     -0:05.5 core:cancel (atom-text-editor.editor.mini)
     -0:05.5 editor:detached (atom-text-editor.editor.mini)
     -0:05.5 editor:will-be-removed (atom-text-editor.editor.mini)
     -0:04.4 project-find:show (atom-workspace.workspace.scrollbars-visible-always.isotope-ui-compact.isotope-ui-bg-color.theme-ninja-syntax.theme-isotope-ui.find-visible)
     -0:03.0 core:confirm (atom-text-editor.editor.mini)
     -0:03.0 pane-container:active-pane-item-changed (atom-pane-container.panes)
     -0:03.0 pane:active-item-changed (atom-pane.pane.active)
     -0:03.0 uri-opened (atom-workspace.workspace.scrollbars-visible-always.isotope-ui-compact.isotope-ui-bg-color.theme-ninja-syntax.theme-isotope-ui.find-visible)
     -0:01.2 command-palette:toggle (ol.results-view.list-tree.focusable-panel.has-collapsable-children)
     -0:00.0 core:confirm (atom-text-editor.editor.mini)
     -0:00.0 bug-report:open (ol.results-view.list-tree.focusable-panel.has-collapsable-children)

Versions

  • Atom: 0.172.0
  • Atom-Shell: 0.20.5
  • OS: linux 3.14.26-1-lts
  • Misc
    • apm 0.119.0
    • npm 1.4.4
    • node 0.10.35
    • python 3.4.2
    • git 2.2.2

This report was created in and posted from the Atom editor using the package bug-report v0.5.3.

don't delete existing third party plugins

I'm using https://github.com/Slava/tern-meteor by dropping in meteor.js into ~/.atom/packages/atom-ternjs/node_modules/tern/plugin/ but every time atom-ternjs gets an update, the external plugin file gets deleted and I get to place it there once more.

Is it possible you replace only internal plugins and not touch the third party ones on update?

Or rather than copying over 3rd party plugins, there may perhaps be a setting somewhere we can add outside locations for atom-tern to look for existince of them.

Uncaught TypeError: undefined is not a function

  1. Choose to "refactor" a single variable
  2. Get this below:

Atom Version: 0.169.0
System: linux 3.13.0-39-generic
Thrown From: atom-ternjs package, v0.4.8

Stack Trace

Uncaught TypeError: undefined is not a function

At /home/cfv/.atom/packages/atom-ternjs/lib/atom-ternjs-reference.coffee:44

TypeError: undefined is not a function
  at Reference.module.exports.Reference.findReference (/home/cfv/.atom/packages/atom-ternjs/lib/atom-ternjs-reference.coffee:44:25)
  at atom-text-editor.disposables.push.atom.commands.add.tern:references (/home/cfv/.atom/packages/atom-ternjs/lib/atom-ternjs-reference.coffee:27:8)
  at CommandRegistry.module.exports.CommandRegistry.handleCommandEvent (/usr/share/atom/resources/app/src/command-registry.js:243:29)
  at /usr/share/atom/resources/app/src/command-registry.js:3:61
  at KeymapManager.module.exports.KeymapManager.dispatchCommandEvent (/usr/share/atom/resources/app/node_modules/atom-keymap/lib/keymap-manager.js:549:16)
  at KeymapManager.module.exports.KeymapManager.handleKeyboardEvent (/usr/share/atom/resources/app/node_modules/atom-keymap/lib/keymap-manager.js:391:22)
  at HTMLDocument.module.exports.WindowEventHandler.onKeydown (/usr/share/atom/resources/app/src/window-event-handler.js:167:20)

Commands

     -0:27.1 snippets:next-tab-stop (atom-text-editor.editor.is-focused)
     -0:27.1 snippets:expand (atom-text-editor.editor.is-focused)
     -0:27.1 editor:indent (atom-text-editor.editor.is-focused)
     -0:26.3 editor:move-to-end-of-screen-line (atom-text-editor.editor.is-focused)
  3x -0:25.6 core:move-down (atom-text-editor.editor.is-focused)
  6x -0:24.5 core:cut (atom-text-editor.editor.is-focused)
     -0:23.0 core:move-up (atom-text-editor.editor.is-focused)
     -0:22.7 core:cut (atom-text-editor.editor.is-focused)
     -0:22.1 editor:move-to-end-of-word (atom-text-editor.editor.is-focused)
     -0:11.1 editor:move-to-beginning-of-word (atom-text-editor.editor.is-focused)
     -0:07.1 command-palette:toggle (atom-text-editor.editor.is-focused)
     -0:04.2 core:move-down (atom-text-editor.editor.mini)
     -0:01.7 editor:consolidate-selections (atom-text-editor.editor.mini)
     -0:01.7 core:cancel (atom-text-editor.editor.mini)
     -0:00.0 refactor:rename (atom-text-editor.editor.is-focused)
     -0:00.0 tern:references (atom-text-editor.editor.is-focused)

Config

{
  "core": {}
}

Installed Packages

# User
atom-jshint, v1.5.0
atom-ternjs, v0.4.8
autocomplete-plus, v1.1.0
color-picker, v1.2.6
esformatter, v1.2.0
js-refactor, v0.3.0
language-less, v0.24.0
linter, v0.9.1
minimap, v3.5.4
project-manager, v1.14.1
refactor, v0.4.1

# Dev
No dev packages

/cc @atom/core

Coffeescript completions

Don't work completion in .coffee files.

  • Checkbox of this option is ON
  • Atom v0.177
  • OS: Windows 7 x64
  • NodeJS 0.12 (PATH variable is set)

test.js:
var fs = require('fs');
var file = fs.readF
--------------readFile()
--------------readFileSync()

test.coffe:
fs = require 'fs'
file = fs.readF
...
Nothing

.tern-project:

{
  "libs": [
    "browser",
    "jquery"
  ],
  "loadEagerly": [
    "./**/*.js"
  ],
  "plugins": {
    "node" : {"load":true},
    "complete_strings": {},
    "doc_comment": {
     "fullDocs": true
    }
  }
}

TypeError: Cannot read property 'node' of null at findTypeAt

TypeError: Cannot read property 'node' of null at findTypeAt (/Users/yumitsu/.atom/packages/atom-ternjs/node_modules/tern/plugin/node.js:143:31) 
at /Users/yumitsu/.atom/packages/atom-ternjs/node_modules/tern/lib/tern.js:765:16 
at Array.forEach (native) at findExprType (/Users/yumitsu/.atom/packages/atom-ternjs/node_modules/tern/lib/tern.js:764:28) 
at Object.findTypeAt [as run] (/Users/yumitsu/.atom/packages/atom-ternjs/node_modules/tern/lib/tern.js:788:16) 
at run (/Users/yumitsu/.atom/packages/atom-ternjs/node_modules/tern/lib/tern.js:212:30) 
at Object.exports.withContext (/Users/yumitsu/.atom/packages/atom-ternjs/node_modules/tern/lib/infer.js:732:18) 
at /Users/yumitsu/.atom/packages/atom-ternjs/node_modules/tern/lib/tern.js:219:13 
at analyzeAll (/Users/yumitsu/.atom/packages/atom-ternjs/node_modules/tern/lib/tern.js:333:15) 
at doRequest (/Users/yumitsu/.atom/packages/atom-ternjs/node_modules/tern/lib/tern.js:203:5)

Looks similar to #35.

Steps to reproduce:

  1. Create new JavaScript file
  2. Type ;()

find references in project rather than in file

Hey

I noticed that find references returns only results from the current file.

However in most cases when I want to find references it is because I change an exported function and would like to know what was affected.

Is it possible to find global project references with tern?

Thanks!

ViewRegistry.addViewProvider is deprecated.

Since the update to Atom 0.189.0, this message appears:

atom.views.addViewProvider now takes 2 arguments: a model constructor and a createView function. See docs for details.

ViewRegistry.addViewProvider (D:\Programme\Dokumente\Atom\resources\app\src\view-registry.js:33:14)
module.exports.registerElement (C:\Users\Daniel\.atom\packages\atom-ternjs\node_modules\elmer\lib\register-element.js:29:18)

editor highlight

Hi

Whenever I go to definition or search for references I think it would be so much better if the result would become highlighted, because as it is right now it's just very hard to notice where the cursor jumped to.
same issue with references.

Thanks!

back from definition

Hi

After I jump to a definition, in many cases I would like to go back to the place where I jump to.
In many other tag systems this is implemented by stacking the jumps, and adding a tag-pop function to go back in the jump stack.
Can this be added?

Thanks!

Uncaught TypeError: Cannot read property 'provide' of undefined

Hi there, was trying to install this package and this happened. I have node installed, and it is on user PATH. It does install though, but nothing comes up in the command pane.

If I restart atom, options come up in the command page but using the one that creates the project file outputs the same error.

  1. Try to install package

Atom Version: 0.176.0
System: Microsoft Windows 7 Professional
Thrown From: atom-ternjs package, v0.4.8

Stack Trace

Uncaught TypeError: Cannot read property 'provide' of undefined

At /c:/Users/filipe.silva.3VTS/.atom/packages/atom-ternjs/lib/atom-ternjs.coffee:98

TypeError: Cannot read property 'provide' of undefined
  at AtomTernInitializer.activatePackage (c:\Users\filipe.silva.3VTS\.atom\packages\atom-ternjs\lib\atom-ternjs.coffee:73:45)
  at AtomTernInitializer.init (c:\Users\filipe.silva.3VTS\.atom\packages\atom-ternjs\lib\atom-ternjs.coffee:76:6)
  at c:\Users\filipe.silva.3VTS\.atom\packages\atom-ternjs\lib\atom-ternjs.coffee:104:10
  at stdout (c:\Users\filipe.silva.3VTS\.atom\packages\atom-ternjs\lib\atom-ternjs-server.coffee:16:7)
  at Socket.<anonymous> (c:\Users\filipe.silva.3VTS\AppData\Local\atom\app-0.176.0\resources\app\src\buffered-process.js:137:13)
  at Socket.emit (events.js:107:17)
  at readableAddChunk (_stream_readable.js:161:16)
  at Socket.Readable.push (_stream_readable.js:125:10)
  at Pipe.onread (net.js:522:20)

Commands

     -7:19.2 symbols-view:toggle-file-symbols (atom-text-editor.editor)
     -7:00.8 pane:reopen-closed-item (atom-text-editor.editor)
     -4:33.9 settings-view:open (atom-text-editor.editor)
     -4:23.7 core:confirm (atom-text-editor.editor.mini)

Config

{
  "core": {
    "disabledPackages": [
      "atom-ctags",
      "Tern",
      "linter-phpcs",
      "remember-session",
      "linter-jscs",
      "sublime-tabs"
    ],
    "autoHideMenuBar": true
  }
}

Installed Packages

# User
atom-ternjs, v0.4.8
autocomplete-plus, v2.0.10
autocomplete-snippets, v1.0.0
color-picker, v1.4.4
file-icons, v1.4.8
git-log, v0.2.0
linter, v0.11.1
linter-jshint, v0.1.0
minimap, v4.0.1
Sublime-Style-Column-Selection, v1.2.3

# Dev
No dev packages

/cc @atom/core

ViewRegistry.addViewProvider is deprecated.

Since the update to Atom 0.189.0, this message appears:

atom.views.addViewProvider now takes 2 arguments: a model constructor and a createView function. See docs for details.

ViewRegistry.addViewProvider (D:\Programme\Dokumente\Atom\resources\app\src\view-registry.js:33:14)
ViewManager.registerViewProvider (C:\Users\Daniel\.atom\packages\atom-ternjs\lib\atom-ternjs-view-manager.coffee:16:15)

Find references server error: TypeError: Cannot read property 'getType' of undefined

Hi
I'm trying to use 'references' on names in my code, and in many cases I get this in the devtools console:

POST http://localhost:59821/ 400 (Bad Request)

and in the network tab I see request (removed file path):

Form Data:
{"query":{"type":"refs","file":"/removed-original-path-for-issue.js","end":{"line":61,"ch":17}}}:

Response:
TypeError: Cannot read property 'getType' of undefined

which means the server got the error, but there's no stack trace for it.
I tried to restart the server but didn't help.
it doesn't happen to all references requests, but does happen on many cases.
how can I get more debug info from the server?
thanks!

atom: 0.179.0
atom-ternjs: 0.4.18

Uncaught TypeError: Cannot read property '_ternDocs' of undefined

[Enter steps to reproduce below:]

dunno how to reproduce yet.

happened while saving a new file with the contents of:

'use strict';

console.log('hallo');

Atom Version: 0.182.0
System: linux 3.14.26-1-lts
Thrown From: atom-ternjs package, v0.4.20

Stack Trace

Uncaught TypeError: Cannot read property '_ternDocs' of undefined

At /home/despairblue/.atom/packages/atom-ternjs/lib/atom-ternjs-provider.coffee:118

TypeError: Cannot read property '_ternDocs' of undefined
  at Provider.module.exports.Provider.setDocumentationContent (/home/despairblue/.atom/packages/atom-ternjs/lib/atom-ternjs-provider.coffee:118:30)
  at /home/despairblue/.atom/packages/atom-ternjs/lib/atom-ternjs-provider.coffee:175:14
  at Emitter.module.exports.Emitter.emit (/usr/share/atom/resources/app/node_modules/event-kit/lib/emitter.js:82:11)
  at SuggestionList.module.exports.SuggestionList.selectPrevious (/home/despairblue/.atom/packages/autocomplete-plus/lib/suggestion-list.coffee:62:14)
  at atom-text-editor.<anonymous> (/home/despairblue/.atom/packages/autocomplete-plus/lib/suggestion-list.coffee:1:1)
  at CommandRegistry.module.exports.CommandRegistry.handleCommandEvent (/usr/share/atom/resources/app/src/command-registry.js:243:29)
  at /usr/share/atom/resources/app/src/command-registry.js:3:61
  at KeymapManager.module.exports.KeymapManager.dispatchCommandEvent (/usr/share/atom/resources/app/node_modules/atom-keymap/lib/keymap-manager.js:558:16)
  at KeymapManager.module.exports.KeymapManager.handleKeyboardEvent (/usr/share/atom/resources/app/node_modules/atom-keymap/lib/keymap-manager.js:396:22)
  at HTMLDocument.module.exports.WindowEventHandler.onKeydown (/usr/share/atom/resources/app/src/window-event-handler.js:176:20)

Commands

     -0:19.1 core:move-up (atom-text-editor.editor.is-focused)
     -0:18.9 docblockr:parse-enter (atom-text-editor.editor.is-focused)
     -0:18.9 editor:newline (atom-text-editor.editor.is-focused)
     -0:18.5 core:move-up (atom-text-editor.editor.is-focused)
  3x -0:17.1 core:backspace (atom-text-editor.editor.is-focused)
  2x -0:14.7 editor:delete-to-beginning-of-word (atom-text-editor.editor.is-focused)
     -0:13.9 snippets:next-tab-stop (atom-text-editor.editor.is-focused)
     -0:13.9 snippets:expand (atom-text-editor.editor.is-focused)
     -0:12.2 core:save (atom-text-editor.editor.is-focused)
  2x -0:06.5 core:move-right (atom-text-editor.editor.is-focused)
  3x -0:06.0 core:move-left (atom-text-editor.editor.is-focused)
     -0:03.3 core:backspace (atom-text-editor.editor.is-focused)
     -0:01.1 autocomplete-plus:select-previous (atom-text-editor.editor.is-focused)
     -0:00.8 autocomplete-plus:cancel (atom-text-editor.editor.is-focused)
     -0:00.6 core:move-up (atom-text-editor.editor.is-focused)
     -0:00.1 core:move-down (atom-text-editor.editor.is-focused)

Config

{
  "core": {
    "excludeVcsIgnoredPaths": false,
    "disabledPackages": [
      "welcome",
      "metrics",
      "autocomplete",
      "incremental-search",
      "Tern",
      "grunt-runner",
      "tree-view-open-files",
      "tree-view-breadcrumb",
      "atomatigit",
      "themed-settings",
      "spell-check"
    ],
    "themes": [
      "one-dark-ui",
      "solarized-dark-syntax"
    ],
    "projectHome": "/home/despairblue/vcs/git/",
    "destroyEmptyPanes": false,
    "autoHideMenuBar": true
  },
  "atom-ternjs": {
    "coffeeScript": true
  }
}

Installed Packages

# User
angularjs, v0.1.0
atom-beautify, v0.21.3
atom-color-highlight, v3.0.8
atom-jasmine, v0.5.0
atom-ternjs, v0.4.20
autocomplete-paths, v1.0.2
autocomplete-plus, v2.2.0
autocomplete-snippets, v1.0.1
block-travel, v1.0.2
bug-report, v0.6.1
color-picker, v1.4.4
compare-files, v0.4.1
docblockr, v0.6.3
editorconfig, v0.3.0
file-icons, v1.4.11
filetype-color, v0.1.4
git-log, v0.3.0
git-plus, v4.4.8
go-plus, v3.2.2
grammar-token-limit, v0.1.1
highlight-selected, v0.9.0
indentation-indicator, v0.4.1
javascript-snippets, v1.0.0
keybinding-cheatsheet, v0.0.7
language-dockerfile, v0.1.0
language-haskell, v1.0.0
language-latex, v0.4.1
language-nimrod, v0.1.0
language-puppet, v0.10.0
language-tss, v0.0.1
latex, v0.18.1
linter, v0.11.1
linter-coffeelint, v0.1.7
linter-eslint, v0.3.2
linter-jshint, v0.1.0
linter-puppet-lint, v0.2.8
minimap, v4.3.1
minimap-color-highlight, v4.0.0
minimap-find-and-replace, v4.0.0
minimap-git-diff, v4.0.0
minimap-highlight-selected, v4.1.0
move-panes, v0.1.2
open-last-project, v0.3.1
package-cop, v0.2.2
pane-layout-plus, v0.6.5
project-manager, v1.15.5
regex-railroad-diagram, v0.7.1
tab-smart-sort, v0.1.2
tabs-to-spaces, v0.8.1
test-status, v0.27.1
zentabs, v0.8.2

# Dev
atom-ternjs, v0.4.17
autocomplete-plus, v2.0.2

Uncaught TypeError: Cannot read property 'length' of undefined, "reloaded"

This issue reported as same to #1 by atom, but seems to be different issue.

  1. Open sass file, then input "ver" and press Tab key to input "vertical-align"
  2. Candidates are shown, 1. vertical, 2. vertical-align, ...
  3. Press down key to select 2
  4. Uncaught TypeError

Atom Version: 0.184.0
System: Mac OS X 10.10.2
Thrown From: atom-ternjs package, v0.5.2

Stack Trace

Uncaught TypeError: Cannot read property 'length' of undefined

At /Users/yuya/.atom/packages/atom-ternjs/lib/atom-ternjs-provider.coffee:112

TypeError: Cannot read property 'length' of undefined
  at Provider.module.exports.Provider.setDocumentationContent (/Users/yuya/.atom/packages/atom-ternjs/lib/atom-ternjs-provider.coffee:112:38)
  at /Users/yuya/.atom/packages/atom-ternjs/lib/atom-ternjs-provider.coffee:170:14
  at Emitter.module.exports.Emitter.emit (/Applications/Atom.app/Contents/Resources/app/node_modules/event-kit/lib/emitter.js:82:11)
  at SuggestionList.module.exports.SuggestionList.selectNext (/Users/yuya/.atom/packages/autocomplete-plus/lib/suggestion-list.coffee:56:14)
  at atom-text-editor.<anonymous> (/Users/yuya/.atom/packages/autocomplete-plus/lib/suggestion-list.coffee:1:1)
  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:558:16)
  at KeymapManager.module.exports.KeymapManager.handleKeyboardEvent (/Applications/Atom.app/Contents/Resources/app/node_modules/atom-keymap/lib/keymap-manager.js:396:22)
  at HTMLDocument.module.exports.WindowEventHandler.onKeydown (/Applications/Atom.app/Contents/Resources/app/src/window-event-handler.js:182:20)

Commands

  7x -0:13.9 vim-mode:move-to-next-word (atom-text-editor.editor.vim-mode.is-focused.insert-mode)
  2x -0:13.6 vim-mode:move-up (atom-text-editor.editor.vim-mode.is-focused.insert-mode)
 29x -0:13.2 vim-mode:move-to-next-word (atom-text-editor.editor.vim-mode.is-focused.insert-mode)
  2x -0:11.4 vim-mode:move-down (atom-text-editor.editor.vim-mode.is-focused.insert-mode)
 11x -0:11.0 vim-mode:move-up (atom-text-editor.editor.vim-mode.is-focused.insert-mode)
  3x -0:10.3 vim-mode:move-down (atom-text-editor.editor.vim-mode.is-focused.insert-mode)
  4x -0:09.8 vim-mode:move-to-next-word (atom-text-editor.editor.vim-mode.is-focused.insert-mode)
  2x -0:09.5 vim-mode:move-down (atom-text-editor.editor.vim-mode.is-focused.insert-mode)
 28x -0:09.1 vim-mode:move-to-next-word (atom-text-editor.editor.vim-mode.is-focused.insert-mode)
  8x -0:06.0 vim-mode:move-up (atom-text-editor.editor.vim-mode.is-focused.insert-mode)
  5x -0:05.4 vim-mode:move-to-next-word (atom-text-editor.editor.vim-mode.is-focused.insert-mode)
  8x -0:05.1 vim-mode:move-down (atom-text-editor.editor.vim-mode.is-focused.insert-mode)
     -0:03.7 vim-mode:insert-below-with-newline (atom-text-editor.editor.vim-mode.is-focused.insert-mode)
     -0:02.0 autocomplete-plus:select-next (atom-text-editor.editor.vim-mode.is-focused.insert-mode)
     -0:01.5 autocomplete-plus:confirm (atom-text-editor.editor.vim-mode.is-focused.insert-mode)
     -0:01.5 snippets:expand (atom-text-editor.editor.vim-mode.is-focused.insert-mode)

Config

{
  "core": {
    "projectHome": "/Users/yuya/repo/github.com",
    "themes": [
      "atom-dark-ui",
      "one-dark-syntax"
    ],
    "disabledPackages": [
      "fancy-new-file",
      "autocomplete-plus",
      "minimap",
      "minimap-highlight-selected"
    ]
  },
  "atom-ternjs": {
    "guess": false,
    "urls": false,
    "coffeeScript": true,
    "inlineFnCompletion": false
  }
}

Installed Packages

# User
atom-beautify, v0.21.3
atom-ternjs, v0.5.2
auto-update-packages, v0.2.2
autocomplete-paths, v1.0.2
autocomplete-plus, v2.3.0
autocomplete-plus-async, v0.22.0
autocomplete-snippets, v1.0.1
coffee-refactor, v0.6.2
color-picker, v1.4.4
css-snippets, v0.5.0
gulp-snippets, v0.6.0
highlight-selected, v0.9.1
javascript-snippets, v1.0.0
js-refactor, v0.3.0
language-haml, v0.15.0
linter, v0.12.0
linter-coffeelint, v0.1.7
linter-haml, v0.1.1
linter-jscs, v1.7.0
linter-jshint, v0.1.0
linter-rubocop, v0.2.2
linter-ruby, v0.1.4
linter-scss-lint, v0.0.14
preview-plus, v1.1.19
recent-files, v0.3.0
refactor, v0.4.1
ruby-block-converter, v3.2.0
ruby-define-method, v0.2.0
ruby-slim, v0.2.0
scope-inspector, v0.2.1
vim-mode, v0.34.0
vim-surround, v0.4.2

# Dev
No dev packages

CSP error during initialization

I saw this while debugging another package, upon reloading Atom:

Refused to evaluate a string as JavaScript because 'unsafe-eval' is not an allowed source of script in the following Content Security Policy directive: "script-src 'self'".

Seems to come from elmer.

Error forcing tern auto-complete

Hi,

I installed atom-ternjs and tryed to force auto complete with ctrl-alt-space and had the following error:

Atom Version: 0.187.0
System: Windows 8.1
Thrown From: atom-ternjs package, v0.5.3

Stack Trace

Uncaught TypeError: Cannot read property 'autocompleteManager' of undefined

At C:\Users\Matheus\.atom\packages\atom-ternjs\lib\atom-ternjs-provider.coffee:133

TypeError: Cannot read property 'autocompleteManager' of undefined
  at Provider.module.exports.Provider.forceCompletion (C:\Users\Matheus\.atom\packages\atom-ternjs\lib\atom-ternjs-provider.coffee:133:26)
  at atom-text-editor.disposables.push.atom.commands.add.tern:startCompletion (C:\Users\Matheus\.atom\packages\atom-ternjs\lib\atom-ternjs-manager.coffee:134:18)
  at CommandRegistry.module.exports.CommandRegistry.handleCommandEvent (C:\Users\Matheus\AppData\Local\atom\app-0.187.0\resources\app\src\command-registry.js:246:29)
  at C:\Users\Matheus\AppData\Local\atom\app-0.187.0\resources\app\src\command-registry.js:3:61
  at KeymapManager.module.exports.KeymapManager.dispatchCommandEvent (C:\Users\Matheus\AppData\Local\atom\app-0.187.0\resources\app\node_modules\atom-keymap\lib\keymap-manager.js:558:16)
  at KeymapManager.module.exports.KeymapManager.handleKeyboardEvent (C:\Users\Matheus\AppData\Local\atom\app-0.187.0\resources\app\node_modules\atom-keymap\lib\keymap-manager.js:396:22)
  at HTMLDocument.module.exports.WindowEventHandler.onKeydown (C:\Users\Matheus\AppData\Local\atom\app-0.187.0\resources\app\src\window-event-handler.js:182:20)

Commands

     -0:03.8 tern:startCompletion (atom-text-editor.editor.is-focused)

Config

{
  "core": {
    "themes": [
      "atom-dark-ui",
      "monokai"
    ],
    "disabledPackages": [
      "autoflow"
    ]
  }
}

Installed Packages

# User
atom-ternjs, v0.5.3
linter, v0.12.0
linter-jshint, v0.1.0
monokai, v0.12.0
save-session, v0.11.5

# Dev
No dev packages

My .tern-project file

{
  "libs": [
    "browser",
    "jquery"
  ],
  "loadEagerly": [
    "js/**/*.js"
  ],
  "plugins": {
    "node": {},
    "complete_strings": {},
    "doc_comment": {
     "fullDocs": true
    }
  }
}

use fs.accessSync()

When using the latest build of Atom (0.1777) & atom-ternjs (0.4.9), I am getting:

atom-ternjs
fs.existsSync() is deprecated. Use fs.accessSync() instead.

tern exited with code: 1

Hi,

I'm trying to run this on Windows, the package installed just fine and I created a basic .tern-project file.

When I open a JS file, the following line shows up in the dev tools console:
tern exited with code: 1 atom-ternjs-server.coffee:17

Uncaught TypeError: Cannot read property 'name' of undefined

[Enter steps to reproduce below:]

  1. In setting view ,open a package details
  2. click "readme" or "change log" button to open a markdown preview

Atom Version: 0.177.0
System:Windows 8.1
Thrown From: atom-ternjs package, v0.4.9

Stack Trace

Uncaught TypeError: Cannot read property 'name' of undefined

At /C:/Users/Administrator/.atom/packages/atom-ternjs/lib/atom-ternjs.coffee:165

TypeError: Cannot read property 'name' of undefined
  at AtomTernInitializer.isValidEditor (C:\Users\Administrator\.atom\packages\atom-ternjs\lib\atom-ternjs.coffee:109:28)
  at C:\Users\Administrator\.atom\packages\atom-ternjs\lib\atom-ternjs.coffee:122:12
  at Emitter.module.exports.Emitter.emit (C:\Users\Administrator\AppData\Local\atom\app-0.177.0\resources\app\node_modules\event-kit\lib\emitter.js:82:11)
  at C:\Users\Administrator\AppData\Local\atom\app-0.177.0\resources\app\src\pane-container.js:347:34
  at Emitter.module.exports.Emitter.emit (C:\Users\Administrator\AppData\Local\atom\app-0.177.0\resources\app\node_modules\event-kit\lib\emitter.js:82:11)
  at Pane.module.exports.Pane.setActiveItem (C:\Users\Administrator\AppData\Local\atom\app-0.177.0\resources\app\src\pane.js:264:22)
  at Pane.module.exports.Pane.activateItem (C:\Users\Administrator\AppData\Local\atom\app-0.177.0\resources\app\src\pane.js:328:21)
  at tabs-tab.<anonymous> (C:\Users\Administrator\AppData\Local\atom\app-0.177.0\resources\app\node_modules\tabs\lib\tab-bar-view.js:184:24)
  at space-pen-ul.jQuery.event.dispatch (C:\Users\Administrator\AppData\Local\atom\app-0.177.0\resources\app\node_modules\jquery\dist\jquery.js:4430:9)
  at space-pen-ul.elemData.handle (C:\Users\Administrator\AppData\Local\atom\app-0.177.0\resources\app\node_modules\jquery\dist\jquery.js:4116:28)

Commands

  5x -6:05.8 tree-view:toggle-vcs-ignored-files (ol.tree-view.full-menu.list-tree.has-collapsable-children.focusable-panel)
     -3:44.0 core:delete (atom-text-editor.editor.autocomplete-active)
     -3:38.2 refactor:done (atom-text-editor.editor.autocomplete-active)
     -3:38.2 editor:newline (atom-text-editor.editor.autocomplete-active)
  2x -3:32.5 core:backspace (atom-text-editor.editor.autocomplete-active)
 10x -2:02.0 autocomplete-plus:select-next (atom-text-editor.editor.autocomplete-active)
  6x -0:56.8 core:backspace (atom-text-editor.editor.autocomplete-active)

Config

{
  "core": {
    "disabledPackages": [
      "language-c",
      "language-clojure",
      "language-go",
      "language-java",
      "language-ruby",
      "language-ruby-on-rails",
      "language-toml",
      "log-console",
      "language-objective-c",
      "language-mustache",
      "autocomplete",
      "jshint",
      "language-perl",
      "language-property-list",
      "emmet",
      "git-review",
      "script-runner",
      "terminal-runner",
      "file-type-icons",
      "gulp-control",
      "angularjs-helper",
      "symbols-view",
      "project-ring"
    ],
    "themes": [
      "seti-ui",
      "seti-syntax"
    ],
    "autoHideMenuBar": true
  },
  "atom-ternjs": {
    "coffeeScript": true
  }
}

Installed Packages

# User
angularjs, v0.1.0
atom-terminal-panel, v4.0.14
atom-ternjs, v0.4.9
autoclose-html, v0.15.0
autocomplete-paths, v1.0.2
autocomplete-plus, v2.1.0
autocomplete-snippets, v1.0.1
coffee-refactor, v0.6.2
color-picker, v1.4.4
gulp-snippets, v0.6.0
highlight-selected, v0.7.0
js-refactor, v0.3.0
language-batchfile, v0.3.0
language-cjsx, v0.2.0
language-coffee-script-angular, v2.2.0
language-gitignore, v0.1.1
language-javascript-jsx, v0.3.1
language-livescript, v0.0.2
linter, v0.11.1
linter-csslint, v0.0.11
linter-eslint, v0.3.1
linter-htmlhint, v0.0.8
linter-jshint, v0.1.0
linter-lsc, v1.1.2
linter-php, v0.0.11
minimap, v4.1.0
minimap-git-diff, v3.1.1
package-sync, v0.1.2
project-manager, v1.15.5
project-palette-finder, v2.4.12
react, v0.9.8
recent-projects, v0.3.0
refactor, v0.4.1
seti-syntax, v0.3.1
seti-ui, v0.6.3
Stylus, v0.4.0

# Dev
No dev packages

/cc @atom/core

Reading the config may crash plugin

I tried to include angular and that is what i get:

bildschirmfoto 2015-01-25 um 21 01 26

It would be awesome to have 2 things:

  1. inform user if json is malformed (i.e. if you simply copy/paste the provided example)

  2. alert user if specified lib/plugin is unavailable

Uncaught TypeError: Cannot read property 'provide' of undefined

To reproduce

  1. Install atom-ternjs from atom settings

Note: I am behind a proxy and firewall, if that helps.


Atom Version: 0.172.0
System: linux 3.14.1-031401-generic
Thrown From: atom-ternjs package, v0.4.9

Stack Trace

Uncaught TypeError: Cannot read property 'provide' of undefined

At /home/.../.atom/packages/atom-ternjs/lib/atom-ternjs.coffee:73

TypeError: Cannot read property 'provide' of undefined
  at AtomTernInitializer.activatePackage (/home/.../.atom/packages/atom-ternjs/lib/atom-ternjs.coffee:73:45)
  at AtomTernInitializer.init (/home/.../.atom/packages/atom-ternjs/lib/atom-ternjs.coffee:76:6)
  at /home/.../.atom/packages/atom-ternjs/lib/atom-ternjs.coffee:104:10
  at stdout (/home/.../.atom/packages/atom-ternjs/lib/atom-ternjs-server.coffee:16:7)
  at Socket.<anonymous> (/opt/atom/resources/app/src/buffered-process.js:137:13)
  at Socket.emit (events.js:107:17)
  at readableAddChunk (_stream_readable.js:161:16)
  at Socket.Readable.push (_stream_readable.js:125:10)
  at Pipe.onread (net.js:522:20)

Commands

     -30:39.4 command-palette:toggle (atom-text-editor.editor)
     -30:35.8 core:move-down (atom-text-editor.editor.mini)
     -30:35.5 core:confirm (atom-text-editor.editor.mini)
     -30:35.5 settings-view:uninstall-packages (atom-text-editor.editor)
     -30:13.9 core:select-up (atom-text-editor.editor)
  2x -30:13.5 core:backspace (atom-text-editor.editor)
     -30:06.9 application:new-window (atom-text-editor.editor)
     -30:00.0 pane:show-next-item (atom-text-editor.editor)

Config

{
  "core": {
    "disabledPackages": [
      "background-tips",
      "metrics"
    ],
    "themes": [
      "atom-light-ui",
      "atom-light-syntax"
    ]
  }
}

Installed Packages

# User
atom-ternjs, v0.4.9
autocomplete-plus, v2.1.0
color-picker, v1.4.4
docblockr, v0.5.8
highlight-selected, v0.7.0
project-manager, v1.15.5

# Dev
No dev packages

/cc @atom/core

Uncaught TypeError: Cannot read property 'documentation' of null

  1. Start ternjs (crashes after a couple of seconds)

Atom Version: 0.184.0
System: Mac OS X 10.10.2
Thrown From: atom-ternjs package, v0.5.2

Stack Trace

Uncaught TypeError: Cannot read property 'documentation' of null

At /Users/melvin/.atom/packages/atom-ternjs/lib/atom-ternjs-provider.coffee:53

TypeError: Cannot read property 'documentation' of null
  at Provider.module.exports.Provider.requestHandler (/Users/melvin/.atom/packages/atom-ternjs/lib/atom-ternjs-provider.coffee:53:21)
  at /Users/melvin/.atom/packages/autocomplete-plus/lib/autocomplete-manager.coffee:132:63
  at Array.map (native)
  at AutocompleteManager.module.exports.AutocompleteManager.getSuggestionsFromProviders (/Users/melvin/.atom/packages/autocomplete-plus/lib/autocomplete-manager.coffee:132:35)
  at AutocompleteManager.getSuggestionsFromProviders (/Users/melvin/.atom/packages/autocomplete-plus/lib/autocomplete-manager.coffee:1:1)
  at AutocompleteManager.module.exports.AutocompleteManager.findSuggestions (/Users/melvin/.atom/packages/autocomplete-plus/lib/autocomplete-manager.coffee:128:6)
  at /Users/melvin/.atom/packages/autocomplete-plus/lib/autocomplete-manager.coffee:1:1

Commands

  2x -3:34.3 core:move-left (atom-text-editor.editor.is-focused)
     -1:57.4 tern:createTernProjectFile (ol.tree-view.full-menu.list-tree.has-collapsable-children.focusable-panel)
     -1:13.1 core:paste (atom-text-editor.editor.mini)
     -1:12.3 core:confirm (atom-text-editor.editor.mini)
     -1:05.4 tree-view:paste (ol.tree-view.full-menu.list-tree.has-collapsable-children.focusable-panel)
     -1:04.6 core:paste (atom-text-editor.editor)
  3x -0:47.3 core:select-right (atom-text-editor.editor)
     -0:46.5 core:backspace (atom-text-editor.editor)
     -0:45.1 core:save (atom-text-editor.editor)
     -0:32.9 core:backspace (atom-text-editor.editor)
     -0:32.4 core:save (atom-text-editor.editor)
  8x -0:27.6 core:backspace (atom-text-editor.editor)
     -0:14.5 core:save (atom-text-editor.editor)
     -0:10.6 tern:restart (atom-text-editor.editor)
     -0:02.2 core:move-left (atom-text-editor.editor.is-focused)
     -0:01.1 core:move-right (atom-text-editor.editor.is-focused)

Config

{
  "core": {
    "themes": [
      "one-light-ui",
      "one-light-syntax"
    ],
    "disabledPackages": [
      "linter-tslint",
      "language-typescript",
      "ide-flow"
    ]
  }
}

Installed Packages

# User
atom-jade, v0.1.0
atom-ternjs, v0.5.2
autocomplete-plus, v2.3.0
color-picker, v1.4.4
editorconfig, v0.3.0
emacs-flow, v0.1.0
javascript-snippets, v1.0.0
linter, v0.12.0
linter-jshint, v0.1.0
linter-less, v0.3.1
react, v0.9.10
script, v2.18.0

# Dev
No dev packages

Uncaught TypeError: Cannot read property 'getLastCursor' of undefined

  1. open to panes
  2. open the settings view in the first and a js file in the second
  3. click in the settings view
  4. click in the js file

Atom Version: 0.179.0
System: linux 3.14.26-1-lts
Thrown From: atom-ternjs package, v0.4.17

Stack Trace

Uncaught TypeError: Cannot read property 'getLastCursor' of undefined

At /home/despairblue/.atom/packages/atom-ternjs/lib/atom-ternjs-type.coffee:32

TypeError: Cannot read property 'getLastCursor' of undefined
  at Type.module.exports.Type.queryType (/home/despairblue/.atom/packages/atom-ternjs/lib/atom-ternjs-type.coffee:32:20)
  at /home/despairblue/.atom/packages/atom-ternjs/lib/atom-ternjs-manager.coffee:75:17
  at Emitter.module.exports.Emitter.emit (/usr/share/atom/resources/app/node_modules/event-kit/lib/emitter.js:82:11)
  at TextEditor.module.exports.TextEditor.cursorMoved (/usr/share/atom/resources/app/src/text-editor.js:1699:27)
  at /usr/share/atom/resources/app/src/cursor.js:62:31
  at Emitter.module.exports.Emitter.emit (/usr/share/atom/resources/app/node_modules/event-kit/lib/emitter.js:82:11)
  at Marker.module.exports.Marker.notifyObservers (/usr/share/atom/resources/app/src/marker.js:298:22)
  at /usr/share/atom/resources/app/src/marker.js:56:24
  at Emitter.module.exports.Emitter.emit (/usr/share/atom/resources/app/node_modules/event-kit/lib/emitter.js:82:11)
  at Marker.module.exports.Marker.applyPatch (/usr/share/atom/resources/app/node_modules/text-buffer/lib/marker.js:538:22)
  at Marker.module.exports.Marker.update (/usr/share/atom/resources/app/node_modules/text-buffer/lib/marker.js:398:14)
  at Marker.module.exports.Marker.setHeadPosition (/usr/share/atom/resources/app/node_modules/text-buffer/lib/marker.js:191:19)
  at Marker.module.exports.Marker.setHeadBufferPosition (/usr/share/atom/resources/app/src/marker.js:207:32)
  at Marker.module.exports.Marker.setHeadScreenPosition (/usr/share/atom/resources/app/src/marker.js:218:19)
  at /usr/share/atom/resources/app/src/cursor.js:126:31
  at Cursor.module.exports.Cursor.changePosition (/usr/share/atom/resources/app/src/cursor.js:692:7)
  at Cursor.module.exports.Cursor.setScreenPosition (/usr/share/atom/resources/app/src/cursor.js:124:19)
  at /usr/share/atom/resources/app/src/text-editor.js:1400:23
  at TextEditor.module.exports.TextEditor.moveCursors (/usr/share/atom/resources/app/src/text-editor.js:1692:9)
  at TextEditor.module.exports.TextEditor.setCursorScreenPosition (/usr/share/atom/resources/app/src/text-editor.js:1399:19)
  at [object Object].module.exports.React.createClass.onMouseDown (/usr/share/atom/resources/app/src/text-editor-component.js:518:20)
  at HTMLDivElement.boundMethod (/usr/share/atom/resources/app/node_modules/react-atom-fork/lib/ReactCompositeComponent.js:1295:21)

Commands

     -3:02.3 settings-view:open (atom-text-editor.editor)
  8x -2:20.1 zen:toggle (div.markdown-preview.native-key-bindings)

Config

{
  "core": {
    "excludeVcsIgnoredPaths": false,
    "disabledPackages": [
      "welcome",
      "metrics",
      "autocomplete",
      "incremental-search",
      "Tern",
      "grunt-runner",
      "tree-view-open-files",
      "tree-view-breadcrumb",
      "atomatigit"
    ],
    "themes": [
      "one-dark-ui",
      "solarized-dark-syntax"
    ],
    "projectHome": "/home/despairblue/vcs/git/",
    "destroyEmptyPanes": false,
    "autoHideMenuBar": true
  },
  "atom-ternjs": {
    "coffeeScript": true
  }
}

Installed Packages

# User
Zen, v0.10.0
angularjs, v0.1.0
atom-color-highlight, v3.0.8
atom-jasmine, v0.5.0
atom-ternjs, v0.4.17
autocomplete-paths, v1.0.2
autocomplete-plus, v2.1.5
autocomplete-snippets, v1.0.1
block-travel, v1.0.2
bug-report, v0.5.5
color-picker, v1.4.4
compare-files, v0.4.0
docblockr, v0.5.8
editorconfig, v0.3.0
file-icons, v1.4.9
filetype-color, v0.1.3
git-log, v0.2.0
go-plus, v3.2.2
grammar-token-limit, v0.1.1
highlight-selected, v0.7.0
indentation-indicator, v0.4.1
javascript-snippets, v1.0.0
keybinding-cheatsheet, v0.0.7
language-dockerfile, v0.1.0
language-haskell, v1.0.0
language-latex, v0.4.1
language-nimrod, v0.1.0
language-puppet, v0.10.0
language-tss, v0.0.1
latex, v0.18.1
linter, v0.11.1
linter-coffeelint, v0.1.7
linter-eslint, v0.3.2
linter-jshint, v0.1.0
linter-puppet-lint, v0.2.3
minimap, v4.1.4
minimap-color-highlight, v4.0.0
minimap-find-and-replace, v3.1.0
minimap-git-diff, v3.1.1
minimap-highlight-selected, v4.0.0
open-last-project, v0.2.2
package-cop, v0.2.2
project-manager, v1.15.5
regex-railroad-diagram, v0.6.3
tab-smart-sort, v0.1.2
tabs-to-spaces, v0.8.1
test-status, v0.27.1
zentabs, v0.8.0

# Dev
autocomplete-plus, v2.0.2

Top panel

image
This is driving me nuts.

  • it's obscuring everything
  • it's blocking mouse input
  • it gets above what I'm actually writing when the editor is scrolled down

Features

Are there any features missing in atom-ternjs you would like to see?

Libs as origins

I have ecma5 in .tern-project's libs.
Math.a will suggest me abs, the documentation will give me a link to ecma5, clicking that link leads to an empty file.
Maybe it shouldn't link to anything?

Uncaught TypeError: Cannot read property 'documentation' of null

[Enter steps to reproduce below:]

  1. ...
  2. ...

Atom Version: 0.184.0
System: Mac OS X 10.10.2
Thrown From: atom-ternjs package, v0.5.2

Stack Trace

Uncaught TypeError: Cannot read property 'documentation' of null

At /Users/melvin/.atom/packages/atom-ternjs/lib/atom-ternjs-provider.coffee:53

TypeError: Cannot read property 'documentation' of null
  at Provider.module.exports.Provider.requestHandler (/Users/melvin/.atom/packages/atom-ternjs/lib/atom-ternjs-provider.coffee:53:21)
  at /Users/melvin/.atom/packages/autocomplete-plus/lib/autocomplete-manager.coffee:132:63
  at Array.map (native)
  at AutocompleteManager.module.exports.AutocompleteManager.getSuggestionsFromProviders (/Users/melvin/.atom/packages/autocomplete-plus/lib/autocomplete-manager.coffee:132:35)
  at AutocompleteManager.getSuggestionsFromProviders (/Users/melvin/.atom/packages/autocomplete-plus/lib/autocomplete-manager.coffee:1:1)
  at AutocompleteManager.module.exports.AutocompleteManager.findSuggestions (/Users/melvin/.atom/packages/autocomplete-plus/lib/autocomplete-manager.coffee:128:6)
  at /Users/melvin/.atom/packages/autocomplete-plus/lib/autocomplete-manager.coffee:1:1

Commands

     -7:10.4 fuzzy-finder:toggle-file-finder (h4.package-name.native-key-bindings)
     -5:00.6 tern:restart (div.settings-view.pane-item)
     -3:45.1 core:backspace (atom-text-editor.editor.is-focused)
     -3:33.8 core:save (atom-text-editor.editor.is-focused)
     -1:47.0 core:backspace (atom-text-editor.editor)
     -0:59.9 tern:createTernProjectFile (a.btn-issue.btn.btn-error)
     -0:57.2 tern:restart (a.btn-issue.btn.btn-error)
  3x -0:51.8 core:backspace (atom-text-editor.editor)
     -0:50.0 core:save (atom-text-editor.editor)
  3x -0:47.0 core:backspace (atom-text-editor.editor.is-focused)
     -0:46.3 core:save (atom-text-editor.editor.is-focused)
  4x -0:15.7 editor:newline (atom-text-editor.editor.is-focused)
  2x -0:14.7 core:move-up (atom-text-editor.editor.is-focused)
  5x -0:04.8 core:backspace (atom-text-editor.editor.is-focused)
     -0:02.9 core:undo (atom-text-editor.editor.is-focused)
  2x -0:00.6 core:move-left (atom-text-editor.editor.is-focused)

Config

{
  "core": {
    "themes": [
      "one-light-ui",
      "one-light-syntax"
    ],
    "disabledPackages": [
      "linter-tslint",
      "language-typescript",
      "ide-flow"
    ]
  }
}

Installed Packages

# User
atom-jade, v0.1.0
atom-ternjs, v0.5.2
autocomplete-plus, v2.3.0
color-picker, v1.4.4
editorconfig, v0.3.0
emacs-flow, v0.1.0
javascript-snippets, v1.0.0
linter, v0.12.0
linter-jshint, v0.1.0
linter-less, v0.3.1
react, v0.9.10
script, v2.18.0

# Dev
No dev packages

Atom.Object.defineProperty.get is deprecated.

atom.services is no longer available. To register service providers and
consumers, use the providedServices and consumedServices fields in
your package's package.json.

Atom.Object.defineProperty.get (C:\Users\Administrator\AppData\Local\atom\app-0.177.0\resources\app\src\atom.js:64:11)
AtomTernInitializer.activatePackage (C:\Users\Administrator\.atom\packages\atom-ternjs\lib\atom-ternjs.coffee:65:25)

Package.getStylesheetsPath is deprecated.

Since the update to Atom 0.189.0, this message appears:

Store package style sheets in the styles/ directory instead of stylesheets/ in the atom-ternjs package

Package.getStylesheetsPath (D:\Programme\Dokumente\Atom\resources\app\src\package.js:448:9)
Package.getStylesheetPaths (D:\Programme\Dokumente\Atom\resources\app\src\package.js:459:32)

Prevent menu from popping on semi-colon or space

Is it possible to prevent tern from showing completions on entering a semi-colon or space? Its rather annoying because when I write a line and hit ';' to complete the line, the natural behavior is to hit enter to start the next line, but tern is showing completions and enter inserts a '$' (since jQuery is there, the $ shows first).

Good work though, thanks!

Edit:
After I submitted this, i noticed that it only happens after something like functionCall(); not on something like var x = 1;

Atom.Object.defineProperty.get is deprecated.

atom.services is no longer available. To register service providers and
consumers, use the providedServices and consumedServices fields in
your package's package.json.

Atom.Object.defineProperty.get (/usr/share/atom/resources/app/src/atom.js:64:11)
AtomTernInitializer.activatePackage (/home/koen/.atom/packages/atom-ternjs/lib/atom-ternjs.coffee:73:25)

Doesn't work behind http proxy

Updating to “[email protected]” failed.Hide output…

npm ERR! git fetch -a origin (git://github.com/marijnh/tern.git) fatal: unable to connect to github.com:
npm ERR! git fetch -a origin (git://github.com/marijnh/tern.git) github.com[0: 192.30.252.129]: errno=Network is unreachable
npm ERR! Linux 3.13.0-46-generic
npm ERR! argv "/opt/atom/resources/app/apm/bin/node" "/opt/atom/resources/app/apm/node_modules/npm/bin/npm-cli.js" "--globalconfig" "/home/alexo/.atom/.apm/.apmrc" "--userconfig" "/home/alexo/.atom/.apmrc" "install" "/tmp/d-11529-17479-1g7v620/package.tgz" "--target=0.21.0" "--arch=x64"
npm ERR! node v0.10.35
npm ERR! npm  v2.5.1
npm ERR! code 128

npm ERR! Command failed: fatal: unable to connect to github.com:
npm ERR! github.com[0: 192.30.252.129]: errno=Network is unreachable
npm ERR! 
npm ERR! 
npm ERR! 
npm ERR! If you need help, you may report this error at:
npm ERR!     <http://github.com/npm/npm/issues>

npm ERR! Please include the following file with any support request:
npm ERR!     /tmp/apm-install-dir-11529-17479-1wy7siv/npm-debug.log

Yes, I have http proxy set for apm, npm and the environment where Atom is started. The problem is that the dependency on tern is a git url. If this was changed to the HTTP equivalent (supported by Github) http://github.com/marijnh/tern.git it would likely work.

Using the `complete_strings` plugin inserts string with quotes regardless of them being there already

{
    "plugins": {
        "complete_strings": {}
    }
}

Using this plugin enables string suggestions. They are suggested with double quotes around them. This leads to some weird behavior:

  • typing "use suggests "use strict" which leads to having this in the end: ""use strict""
    or
  • typing 'use suggests "use strict" which leads to having '"use strict"'

There would be 2 options to fix this:

  1. simply strip the quotes from the ternjs suggestion before returning them to ac+ (implemented in the PR)
  2. looking at the chars before the prefix and the char after the cursor and deciding what to return to ac+(pipe is the cursor):
    • "use| -> use strict"
    • "use|" -> use strict
    • "use | -> strict"
    • "use |" -> strict
    • 'use| -> use strict'
    • 'use|' -> use strict
    • 'use | -> strict'
    • 'use |' -> strict
    • a missing leading quote should not happen since ternjs wouldn't suggest strings in that case

I'll make the PR for 1. but will make one that implements 2. as well, since one does not tackle the problem of strings with white spaces ('use |' -> 'use use strict').

Uncaught TypeError: Cannot read property 'length' of undefined

[Enter steps to reproduce below:]

  1. ...
  2. ...

Atom Version: 0.165.0
System: Mac OS X 10.10.1
Thrown From: atom-ternjs package, v0.2.3

Stack Trace

Uncaught TypeError: Cannot read property 'length' of undefined

At /Users/davidetemp/.atom/packages/atom-ternjs/lib/atom-ternjs-autocomplete.coffee:35

TypeError: Cannot read property 'length' of undefined
  at AtomTernjsAutocomplete.module.exports.AtomTernjsAutocomplete.getEditorView (/Users/davidetemp/.atom/packages/atom-ternjs/lib/atom-ternjs-autocomplete.coffee:35:9)
  at AtomTernjsAutocomplete.module.exports.AtomTernjsAutocomplete.cancelAutocompletion (/Users/davidetemp/.atom/packages/atom-ternjs/lib/atom-ternjs-autocomplete.coffee:33:10)
  at AtomTernInitializer.callPreBuildSuggestions (/Users/davidetemp/.atom/packages/atom-ternjs/lib/atom-ternjs.coffee:107:16)
  at /Users/davidetemp/.atom/packages/atom-ternjs/lib/atom-ternjs.coffee:91:8
  at Emitter.module.exports.Emitter.emit (/Users/davidetemp/Downloads/Atom.app/Contents/Resources/app/node_modules/event-kit/lib/emitter.js:82:11)
  at /Users/davidetemp/Downloads/Atom.app/Contents/Resources/app/node_modules/text-buffer/lib/text-buffer.js:1142:25

Commands

Config

{
  "core": {
    "disabledPackages": [
      "ternjs"
    ]
  }
}

Installed Packages

# User
atom-ternjs, v0.2.3
autocomplete-plus, v1.0.0
color-picker, v1.2.6
emmet, v2.3.0
linter, v0.9.0
minimap, v3.4.9
travis-ci-status, v0.11.1
vim-mode, v0.22.0

# Dev
No dev packages

/cc @atom/core

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.