Coder Social home page Coder Social logo

wende / autocomplete-elixir Goto Github PK

View Code? Open in Web Editor NEW
42.0 4.0 11.0 320 KB

Intelligent Elixir autocompletion provider for Atom autocomplete-plus

License: MIT License

CoffeeScript 56.09% Erlang 0.70% Elixir 36.75% JavaScript 6.46%
elixir autocomplete-elixir atom-autocomplete atom coffeescript elixir-language

autocomplete-elixir's Introduction

PROJECT DEPRECATED BECAUSE OF DRASTIC CHANGES IN ATOM EXTERNAL PROCESS API.

For Elixir autocompletion in Atom head to https://github.com/msaraiva/atom-elixir

Atom intelligent Elixir Autocompletion for Autocomplete+

Image of autocomplete-elixir

Features

  • Intelligent autocompletion of
    • Global modules and functions
    • Local project modules and functions (those which compile successfully)
  • Type hints for
    • Arguments
    • Return types
  • Type aliases replaced with primitive structures they represent
  • Snippets for common structures
  • do/fn -> end highlighting
  • Jump to local function/macro defintion with alt-. and back with alt-,

Installation

Installation is done using Atom package manager or command

apm install autocomplete-elixir

CAUTION: MAKE SURE TO HAVE autocomplete-plus PACKAGE INSTALLED

Incoming features

1.6

  • Jump to definition out of local module

Feel free to suggest additional features at issues page

Common Errors

Package spits out a lot of errors on my OSX

It seems that OSX has a lot of different safe measures which don't cooperate nicely with atom environment.
Make sure you've got both erlang and elixir installed and paths set up in package settings: Image of autocomplete-elixir

For optimal behaviour always start atom from command line instead of Finder.

Failed to spawn command elixir. Make sure elixir is installed and in your PATH

Let me guess. You're using OSX. This happens when starting atom from Finder. Finder-started applications have no access to PATH variable. To go around that make sure to set "Elixir Path" in package configuration to Your absolute elixir executable path or start atom from command line instead.

Required modules

Troubleshooting

  1. Make sure you've got both Elixir and Erlang installed
  2. Make sure you've got both paths set up in settings You can check both things by running: which elixir -> /usr/local/bin/elixir which erl -> /usr/local/bin/erl And insert the whole path of elixir but only folder path of erl Image of autocomplete-elixir
  3. Make sure You've got Elixir-language package installed
  4. Try running atom from the CLI
  5. If functions are not showing up in the auto-complete list, be sure that atom's root directory has your mix.exs file. This can be either your individual application or an umbrella app.
  6. Read existing issues ;)

autocomplete-elixir's People

Contributors

7sharp9 avatar aagat avatar armed avatar hbyoon avatar psvensso avatar wende avatar wraiford 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

Watchers

 avatar  avatar  avatar  avatar

autocomplete-elixir's Issues

elixir not found

if I change
ac = spawn("elixir", array.reverse())
to
ac = spawn("/usr/local/bin/elixir", array.reverse())
it works.

platform: Mac OS X 10.10.3
elixir installed with homebrew

Maybe we should find elixir in PATH?

'Uncaught Error: This socket is closed' when saving any elixir file

With autocomplete-elixir package enabled I receive an uncaught error whenever I save an elixir file. I've seen this on two different machines. one running OSX 10.10.2 and another running 10.9

Steps to Reproduce

  1. Open elixir project in Atom
  2. make a change to any .ex file
  3. save file

Atom Version: 0.190.0
System: Mac OS X 10.10.2
Thrown From: autocomplete-elixir package, v1.2.4

Stack Trace

Uncaught Error: This socket is closed.

At /Applications/Atom.app/Contents/Resources/app/src/pane.js:734

Error: This socket is closed.
  at Socket._writeGeneric (net.js:634:19)
  at Socket._write (net.js:687:8)
  at doWrite (_stream_writable.js:295:12)
  at writeOrBuffer (_stream_writable.js:282:5)
  at Socket.Writable.write (_stream_writable.js:210:11)
  at Socket.write (net.js:612:40)
  at Object.exports.loadFile (/Users/rnorris/.atom/packages/autocomplete-elixir/lib/alchemide/wrapper.coffee:33:7)
  at /Users/rnorris/.atom/packages/autocomplete-elixir/lib/autocomplete-elixir-client.coffee:14:22
  at Emitter.module.exports.Emitter.emit (/Applications/Atom.app/Contents/Resources/app/node_modules/event-kit/lib/emitter.js:82:11)
  at TextBuffer.module.exports.TextBuffer.saveAs (/Applications/Atom.app/Contents/Resources/app/node_modules/text-buffer/lib/text-buffer.js:917:20)
  at TextBuffer.module.exports.TextBuffer.save (/Applications/Atom.app/Contents/Resources/app/node_modules/text-buffer/lib/text-buffer.js:899:19)
  at TextEditor.module.exports.TextEditor.save (/Applications/Atom.app/Contents/Resources/app/src/text-editor.js:556:26)
  at Pane.module.exports.Pane.saveItem (/Applications/Atom.app/Contents/Resources/app/src/pane.js:502:18)
  at Pane.module.exports.Pane.saveActiveItem (/Applications/Atom.app/Contents/Resources/app/src/pane.js:485:19)
  at Workspace.module.exports.Workspace.saveActivePaneItem (/Applications/Atom.app/Contents/Resources/app/src/workspace.js:574:35)
  at atom-workspace.atom.commands.add.core:save (/Applications/Atom.app/Contents/Resources/app/src/workspace-element.js:310:30)
  at CommandRegistry.module.exports.CommandRegistry.handleCommandEvent (/Applications/Atom.app/Contents/Resources/app/src/command-registry.js:242: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:521:16)
  at KeymapManager.module.exports.KeymapManager.handleKeyboardEvent (/Applications/Atom.app/Contents/Resources/app/node_modules/atom-keymap/lib/keymap-manager.js:356:22)
  at HTMLDocument.module.exports.WindowEventHandler.onKeydown (/Applications/Atom.app/Contents/Resources/app/src/window-event-handler.js:180:20)

Commands

     -4:27.0 window:update-available (atom-workspace.workspace.scrollbars-visible-when-scrolling.theme-atom-dark-syntax.theme-atom-dark-ui)
  2x -3:41.1 core:confirm (atom-text-editor.editor.mini)
     -2:33.9 core:backspace (atom-text-editor.editor.mini)
     -2:26.7 core:confirm (atom-text-editor.editor.mini)
  6x -1:56.8 core:backspace (atom-text-editor.editor.mini)
     -1:54.2 core:confirm (atom-text-editor.editor.mini)
  4x -1:26.6 core:backspace (atom-text-editor.editor.mini)
  3x -1:23.6 core:confirm (atom-text-editor.editor.mini)
     -0:10.3 editor:newline (atom-text-editor.editor.is-focused)
 10x -0:08.5 core:backspace (atom-text-editor.editor.is-focused)
     -0:00.7 core:save (atom-text-editor.editor.is-focused)

Config

{
  "core": {
    "themes": [
      "atom-dark-ui",
      "atom-dark-syntax"
    ]
  },
  "autocomplete-elixir": {}
}

Installed Packages

# User
autocomplete-elixir, v1.2.4
autocomplete-plus, v2.12.0
autocomplete-snippets, v1.2.0
language-elixir, v0.4.0
pretty-json, v0.3.3

# Dev
No dev packages

Deprecation warning

Once installed autocomplete-elixir , atom will warn me with deprecation warning.

Uncaught TypeError: Cannot read property 'stdout' of undefined

[Enter steps to reproduce below:]

  1. happens directly after installing
  2. ...

Atom Version: 0.201.0
System: C415M5CB3410TQN
Thrown From: autocomplete-elixir package, v1.2.6

Stack Trace

Uncaught TypeError: Cannot read property 'stdout' of undefined

At C:\Users\MRAUSC\.atom\packages\autocomplete-elixir\lib\alchemide\wrapper.coffee:19

TypeError: Cannot read property 'stdout' of undefined
    at Object.exports.init (C:\Users\MRAUSC\.atom\packages\autocomplete-elixir\lib\alchemide\wrapper.coffee:36:21)
    at exit (C:\Users\MRAUSC\.atom\packages\autocomplete-elixir\lib\alchemide\wrapper.coffee:27:22)
    at triggerExitCallback (C:\Users\MRAUSC\AppData\Local\atom\app-0.201.0\resources\app.asar\src\buffered-process.js:213:47)
    at ChildProcess.<anonymous> (C:\Users\MRAUSC\AppData\Local\atom\app-0.201.0\resources\app.asar\src\buffered-process.js:235:18)
    at emitTwo (events.js:87:13)
    at ChildProcess.emit (events.js:169:7)
    at Process.ChildProcess._handle.onexit (child_process.js:1057:12)

Commands

Config

{
  "core": {}
}

Installed Packages

# User
atomatigit, v1.5.1
autocomplete-elixir, v1.2.6
go-plus, v3.3.11
language-elixir, v0.4.0

# Dev
No dev packages

Elixir Plugin Generates Error for accesing a Module's structure

If I try to access/create the structure Inode from a separate module(separate source file) I get an error from the plugin but Elixir will compile the code without compliant.

defmodule Cont.Expr do

  defmodule Inode do
    defstruct value: 0
  end

end

Error generated by Atom/Elixir plugin: (CompileError) Cont.Expr.Inode.struct/1 is undefined, cannot expand struct Cont.Expr.Inode

Uncaught Error: spawn E2BIG

The autocomplete throw a lot of exceptions After the setup of erlangHomeconfig.

Atom Version: 1.0.19
System: Mac OS X 10.10.2
Thrown From: autocomplete-elixir package, v1.4.2

Stack Trace

Uncaught Error: spawn E2BIG

At /Applications/Atom.app/Contents/Resources/app.asar/src/buffered-process.js:260

Error: spawn E2BIG
    at exports._errnoException (util.js:814:11)
    at ChildProcess.spawn (internal/child_process.js:298:11)
    at Object.exports.spawn (child_process.js:343:9)
    at BufferedProcess.module.exports.BufferedProcess.spawn (/Applications/Atom.app/Contents/Resources/app.asar/src/buffered-process.js:188:44)
    at new BufferedProcess (/Applications/Atom.app/Contents/Resources/app.asar/src/buffered-process.js:52:14)
    at Object.exports.init (/Users/leandro/.atom/packages/autocomplete-elixir/lib/alchemide/wrapper.coffee:43:12)
    at Object.exports.init (/Users/leandro/.atom/packages/autocomplete-elixir/lib/alchemide/wrapper.coffee:47:34)
    at Object.exports.init (/Users/leandro/.atom/packages/autocomplete-elixir/lib/alchemide/wrapper.coffee:47:34)
    at Object.exports.init (/Users/leandro/.atom/packages/autocomplete-elixir/lib/alchemide/wrapper.coffee:47:34)
    at Object.exports.init (/Users/leandro/.atom/packages/autocomplete-elixir/lib/alchemide/wrapper.coffee:47:34)

Commands

     -0:22.5.0 settings-view:open (atom-text-editor.editor.vim-mode.insert-mode.is-focused)

Config

{
  "core": {
    "disabledPackages": [
      "todo-show",
      "Termrk",
      "elixir-cmd",
      "archive-view",
      "language-c",
      "language-clojure",
      "language-coffee-script",
      "language-csharp",
      "language-mustache",
      "language-objective-c",
      "language-perl",
      "language-ruby-on-rails"
    ],
    "themes": [
      "one-dark-ui",
      "solarized-dark-syntax"
    ],
    "excludeVcsIgnoredPaths": false
  },
  "autocomplete-elixir": {
    "elixirPath": "/usr/local/bin/elixir",
    "erlangHome": "/usr/local/bin/erl"
  }
}

Installed Packages

# User
autocomplete-elixir, v1.4.2
language-elixir, v0.5.2
linter, v1.9.1
linter-php, v1.0.5
linter-phpcs, v1.2.2
linter-phpmd, v1.3.2
minimap, v4.15.0
php-cs-fixer, v2.5.1
project-manager, v2.6.5
vim-mode, v0.62.0
wakatime, v5.0.0

# Dev
No dev packages

Uncaught Error: This socket is closed.

[Enter steps to reproduce below:]

  1. ctrl+s to save file

Atom Version: 1.1.0
System: Linux Mint
Thrown From: autocomplete-elixir package, v1.4.2

Stack Trace

Uncaught Error: This socket is closed.

At /usr/share/atom/resources/app.asar/src/pane.js:788

Error: This socket is closed.
  at Socket._writeGeneric (net.js:637:19)
  at Socket._write (net.js:691:8)
  at doWrite (_stream_writable.js:291:12)
  at writeOrBuffer (_stream_writable.js:277:5)
  at Socket.Writable.write (_stream_writable.js:206:11)
  at Socket.write (net.js:615:40)
  at Object.exports.loadFile (/home/tobias/.atom/packages/autocomplete-elixir/lib/alchemide/wrapper.coffee:70:7)
  at /home/tobias/.atom/packages/autocomplete-elixir/lib/autocomplete-elixir-client.coffee:14:22
  at Emitter.module.exports.Emitter.emit (/usr/share/atom/resources/app.asar/node_modules/event-kit/lib/emitter.js:86:11)
  at TextBuffer.module.exports.TextBuffer.saveAs (/usr/share/atom/resources/app.asar/node_modules/text-buffer/lib/text-buffer.js:1035:20)
  at TextBuffer.module.exports.TextBuffer.save (/usr/share/atom/resources/app.asar/node_modules/text-buffer/lib/text-buffer.js:1002:19)
  at TextEditor.module.exports.TextEditor.save (/usr/share/atom/resources/app.asar/src/text-editor.js:519:26)
  at Pane.module.exports.Pane.saveItem (/usr/share/atom/resources/app.asar/src/pane.js:529:18)
  at Object.module.exports.autosavePaneItem (/usr/share/atom/resources/app.asar/node_modules/autosave/lib/autosave.js:64:21)
  at /usr/share/atom/resources/app.asar/node_modules/autosave/lib/autosave.js:29:26

Commands

     -2:35.8.0 editor:indent (atom-text-editor.editor.is-focused)
  3x -2:35.3.0 core:backspace (atom-text-editor.editor.is-focused)
     -2:32.3.0 snippets:next-tab-stop (atom-text-editor.editor.is-focused)
     -2:32.3.0 snippets:expand (atom-text-editor.editor.is-focused)
     -2:32.3.0 editor:indent (atom-text-editor.editor.is-focused)
     -2:32.1.0 snippets:next-tab-stop (atom-text-editor.editor.is-focused)
     -2:32.1.0 snippets:expand (atom-text-editor.editor.is-focused)
     -2:32.1.0 editor:indent (atom-text-editor.editor.is-focused)
  8x -2:31.8.0 core:backspace (atom-text-editor.editor.is-focused)
     -2:30.4.0 snippets:next-tab-stop (atom-text-editor.editor.is-focused)
     -2:30.4.0 snippets:expand (atom-text-editor.editor.is-focused)
     -2:30.4.0 editor:indent (atom-text-editor.editor.is-focused)
  2x -2:30 core:backspace (atom-text-editor.editor.is-focused)
     -2:17.7.0 core:confirm (atom-text-editor.editor.mini.is-focused)
  2x -0:53.8.0 core:backspace (atom-text-editor#autocomplete-elixir.erlangHome.editor.mini.is-focused)
  2x -0:04.3.0 core:delete (atom-text-editor.editor.is-focused)

Config

{
  "core": {
    "disabledPackages": [
      "linter-elixirc"
    ]
  },
  "autocomplete-elixir": {}
}

Installed Packages

# User
autocomplete-elixir, v1.4.2
language-elixir, v0.5.2
linter, v1.10.0
linter-coffeelint, v1.1.2
linter-csslint, v1.1.0
linter-htmlhint, v0.2.1
linter-js-yaml, v1.2.0
linter-jsonlint, v1.0.1
linter-markdown, v1.2.1
linter-pylint, v1.0.3
linter-xmllint, v0.0.7
minimap, v4.16.0
pigments, v0.18.1

# Dev
No dev packages

Highlight bug

Hi,
It seems that from 1.5.2 this package highlights anything below the cursor.
I am not sure if this is the wanted behavior, but I find this quite disturbing so
if it is, it would be good to have an option to disable it.
Removing this line fixes the issue.

Uncaught TypeError: Cannot read property 'toUpperCase' of undefined

[Enter steps to reproduce below:]

  1. created a Cat struct
  2. tried to use it with default values by writing %Cat{}

Atom Version: 0.192.0
System: Mac OS X 10.10.3
Thrown From: autocomplete-elixir package, v1.1.2

Stack Trace

Uncaught TypeError: Cannot read property 'toUpperCase' of undefined

At /Users/andreacatalucci/.atom/packages/autocomplete-elixir/lib/autocomplete-elixir-provider.coffee:39

TypeError: Cannot read property 'toUpperCase' of undefined
  at RsenseProvider.module.exports.RsenseProvider.findSuggestions (/Users/andreacatalucci/.atom/packages/autocomplete-elixir/lib/autocomplete-elixir-provider.coffee:39:30)
  at /Users/andreacatalucci/.atom/packages/autocomplete-elixir/lib/autocomplete-elixir-provider.coffee:25:24
  at /Users/andreacatalucci/.atom/packages/autocomplete-elixir/lib/autocomplete-elixir-client.coffee:24:7
  at /Users/andreacatalucci/.atom/packages/autocomplete-elixir/lib/new/wrapper.coffee:27:5
  at Socket.fn (/Users/andreacatalucci/.atom/packages/autocomplete-elixir/lib/new/wrapper.coffee:43:7)
  at emitOne (events.js:77:13)
  at Socket.emit (events.js:166:7)
  at readableAddChunk (_stream_readable.js:146:16)
  at Socket.Readable.push (_stream_readable.js:109:10)
  at Pipe.onread (net.js:517:20)

Commands

     -0:07.2 core:backspace (atom-text-editor.editor.is-focused)
     -0:06.9 editor:newline (atom-text-editor.editor.is-focused)

Config

{
  "core": {
    "themes": [
      "unity-ui",
      "monokai"
    ]
  },
  "autocomplete-elixir": {}
}

Installed Packages

# User
autocomplete-elixir, v1.1.2
autocomplete-erlang, v0.2.4
autocomplete-plus, v2.11.0
autocomplete-snippets, v1.2.0
elixir-cmd, v0.2.5
iex, v0.9.2
language-elixir, v0.4.0
linter, v0.12.0
linter-elixirc, v0.2.1
monokai, v0.14.0
unity-ui, v2.0.5

# Dev
No dev packages

Elixir Path is set, but getting error on Atom launch

Mac OS X 10.10.3
atom 0.209.0
autocomplete-elixir 1.3.5
elixir 1.0.4 installed via Homebrew

Elixir Path is set in the autocomplete-elixir settings to /usr/local/bin/elixir, but when I launch Atom [1] I get
Uncaught BufferedProcessError: Failed to spawn command elixir. Make sure elixir is installed and on your PATH

[1] Launching via Quicksilver, which is effectively launching from the Finder. Yes, I know.

Launching Atom from a command prompt does not generate this message. Currently, the README makes it sound like setting Elixir Path is sufficient, but it isn't. Does the documentation need clarification?

Visual Studio Port

After it becoming open-source, I have played around with Visual Studio Code, and man it is far better than Atom. Especially more responsive, but also better usability IMHO.

So now your plugin is the only reason for me still using Atom :)

I had a look at the VS Code plugin for Go [1](which seems to have a comparable way of implementing code completion with invoking external application like you) and it looked far easier than Atom's...

Maybe have a look if you find it worth to port from Atom to VS Code

[1] https://github.com/Microsoft/vscode-go

Uncaught RangeError: Maximum call stack size exceeded

Atom Version: 1.7.2
System: Mac OS X 10.11
Thrown From: autocomplete-elixir package, v1.5.13

Stack Trace

Uncaught RangeError: Maximum call stack size exceeded

At path.js:456

RangeError: Maximum call stack size exceeded
    at Array.join (native)
    at Object.posix.normalize (path.js:456:55)
    at Object.posix.join (path.js:488:16)
    at Object.exports.init (/Users/marco/.atom/packages/autocomplete-elixir/lib/alchemide/wrapper.coffee:21:12)
    at Object.exports.init (/Users/marco/.atom/packages/autocomplete-elixir/lib/alchemide/wrapper.coffee:48:34)
    at Object.exports.init (/Users/marco/.atom/packages/autocomplete-elixir/lib/alchemide/wrapper.coffee:48:34)
    at Object.exports.init (/Users/marco/.atom/packages/autocomplete-elixir/lib/alchemide/wrapper.coffee:48:34)
    at Object.exports.init (/Users/marco/.atom/packages/autocomplete-elixir/lib/alchemide/wrapper.coffee:48:34)
    at Object.exports.init (/Users/marco/.atom/packages/autocomplete-elixir/lib/alchemide/wrapper.coffee:48:34)
    at Object.exports.init (/Users/marco/.atom/packages/autocomplete-elixir/lib/alchemide/wrapper.coffee:48:34)
    at Object.exports.init (/Users/marco/.atom/packages/autocomplete-elixir/lib/alchemide/wrapper.coffee:48:34)
    at Object.exports.init (/Users/marco/.atom/packages/autocomplete-elixir/lib/alchemide/wrapper.coffee:48:34)
    at Object.exports.init (/Users/marco/.atom/packages/autocomplete-elixir/lib/alchemide/wrapper.coffee:48:34)
    at Object.exports.init (/Users/marco/.atom/packages/autocomplete-elixir/lib/alchemide/wrapper.coffee:48:34)
    at Object.exports.init (/Users/marco/.atom/packages/autocomplete-elixir/lib/alchemide/wrapper.coffee:48:34)
    at Object.exports.init (/Users/marco/.atom/packages/autocomplete-elixir/lib/alchemide/wrapper.coffee:48:34)
    at Object.exports.init (/Users/marco/.atom/packages/autocomplete-elixir/lib/alchemide/wrapper.coffee:48:34)
    at Object.exports.init (/Users/marco/.atom/packages/autocomplete-elixir/lib/alchemide/wrapper.coffee:48:34)
    at Object.exports.init (/Users/marco/.atom/packages/autocomplete-elixir/lib/alchemide/wrapper.coffee:48:34)
    at Object.exports.init (/Users/marco/.atom/packages/autocomplete-elixir/lib/alchemide/wrapper.coffee:48:34)
    at Object.exports.init (/Users/marco/.atom/packages/autocomplete-elixir/lib/alchemide/wrapper.coffee:48:34)
    at Object.exports.init (/Users/marco/.atom/packages/autocomplete-elixir/lib/alchemide/wrapper.coffee:48:34)
    at Object.exports.init (/Users/marco/.atom/packages/autocomplete-elixir/lib/alchemide/wrapper.coffee:48:34)
    at Object.exports.init (/Users/marco/.atom/packages/autocomplete-elixir/lib/alchemide/wrapper.coffee:48:34)
    at Object.exports.init (/Users/marco/.atom/packages/autocomplete-elixir/lib/alchemide/wrapper.coffee:48:34)
    at Object.exports.init (/Users/marco/.atom/packages/autocomplete-elixir/lib/alchemide/wrapper.coffee:48:34)
    at Object.exports.init (/Users/marco/.atom/packages/autocomplete-elixir/lib/alchemide/wrapper.coffee:48:34)
    at Object.exports.init (/Users/marco/.atom/packages/autocomplete-elixir/lib/alchemide/wrapper.coffee:48:34)
    at Object.exports.init (/Users/marco/.atom/packages/autocomplete-elixir/lib/alchemide/wrapper.coffee:48:34)
    at Object.exports.init (/Users/marco/.atom/packages/autocomplete-elixir/lib/alchemide/wrapper.coffee:48:34)

Commands

     -3:18.9.0 core:move-left (atom-text-editor.editor.is-focused)
  2x -3:18.6.0 core:backspace (atom-text-editor.editor.is-focused)
 15x -3:17.5.0 core:move-right (atom-text-editor.editor.is-focused)
     -3:01.1.0 core:backspace (atom-text-editor.editor.is-focused)
     -2:53.2.0 core:save (atom-text-editor.editor.is-focused)
     -2:16.3.0 core:move-left (atom-text-editor.editor.is-focused)
     -2:14.9.0 editor:select-to-end-of-line (atom-text-editor.editor.is-focused)
     -2:13.2.0 core:paste (atom-text-editor.editor.is-focused)
     -2:10.4.0 core:save (atom-text-editor.editor.is-focused)

Config

{
  "autocomplete-elixir": {
    "elixirPath": "/usr/local/bin/elixir",
    "erlangHome": "/usr/local/bin/erl"
  }
}

Installed Packages

# User
autocomplete-elixir, v1.5.13
file-icons, v1.7.4
language-elixir, v0.12.3

# Dev
No dev packages

Versions

elixir v1.2.4
erl v18.3

Erlang Home field allows, processes newlines

If you paste the Erlang Home and it happens to have a trailing newline, it seems the package will just go with it, resulting in:

CLOSED 126, Last Error: /usr/local/bin/elixir: line 100: /usr/local/Cellar/erlang/18.0.3/bin
/erl: No such file or directory
/usr/local/bin/elixir: line 100: exec: /usr/local/Cellar/erlang/18.0.3/bin
/erl: cannot execute: No such file or directory

Uncaught Error: spawn ENAMETOOLONG

[Enter steps to reproduce below:]

  1. happens directly after installing
  2. ...

Atom Version: 0.201.0
System: C415M5CB3410TQN
Thrown From: autocomplete-elixir package, v1.2.6

Stack Trace

Uncaught Error: spawn ENAMETOOLONG

At C:\Users\MRAUSC\AppData\Local\atom\app-0.201.0\resources\app.asar\src\buffered-process.js:260

Error: spawn ENAMETOOLONG
    at exports._errnoException (util.js:734:11)
    at ChildProcess.spawn (child_process.js:1145:11)
    at Object.exports.spawn (child_process.js:977:9)
    at BufferedProcess.module.exports.BufferedProcess.spawn (C:\Users\MRAUSC\AppData\Local\atom\app-0.201.0\resources\app.asar\src\buffered-process.js:188:44)
    at new BufferedProcess (C:\Users\MRAUSC\AppData\Local\atom\app-0.201.0\resources\app.asar\src\buffered-process.js:50:14)
    at Object.exports.init (C:\Users\MRAUSC\.atom\packages\autocomplete-elixir\lib\alchemide\wrapper.coffee:30:10)
    at exit (C:\Users\MRAUSC\.atom\packages\autocomplete-elixir\lib\alchemide\wrapper.coffee:27:22)
    at triggerExitCallback (C:\Users\MRAUSC\AppData\Local\atom\app-0.201.0\resources\app.asar\src\buffered-process.js:213:47)
    at ChildProcess.<anonymous> (C:\Users\MRAUSC\AppData\Local\atom\app-0.201.0\resources\app.asar\src\buffered-process.js:235:18)
    at emitTwo (events.js:87:13)

Commands

Config

{
  "core": {}
}

Installed Packages

# User
atomatigit, v1.5.1
autocomplete-elixir, v1.2.6
go-plus, v3.3.11
language-elixir, v0.4.0

# Dev
No dev packages

Uncaught Error: spawn E2BIG

[Enter steps to reproduce below:]

  1. Launch atom
  2. open elixir file, some short time later exception is shown

Atom Version: 1.0.0
System: Mac OS X 10.10.3
Thrown From: autocomplete-elixir package, v1.3.7

Stack Trace

Uncaught Error: spawn E2BIG

At /Applications/Atom.app/Contents/Resources/app.asar/src/buffered-process.js:260

Error: spawn E2BIG
  at exports._errnoException (util.js:734:11)
  at ChildProcess.spawn (child_process.js:1145:11)
  at Object.exports.spawn (child_process.js:977:9)
  at BufferedProcess.module.exports.BufferedProcess.spawn (/Applications/Atom.app/Contents/Resources/app.asar/src/buffered-process.js:188:44)
  at new BufferedProcess (/Applications/Atom.app/Contents/Resources/app.asar/src/buffered-process.js:52:14)
  at Object.exports.init (/Users/dave/.atom/packages/autocomplete-elixir/lib/alchemide/wrapper.coffee:24:12)
  at exit (/Users/dave/.atom/packages/autocomplete-elixir/lib/alchemide/wrapper.coffee:17:53)
  at triggerExitCallback (/Applications/Atom.app/Contents/Resources/app.asar/src/buffered-process.js:213:47)
  at ChildProcess.<anonymous> (/Applications/Atom.app/Contents/Resources/app.asar/src/buffered-process.js:235:18)
  at emitTwo (events.js:87:13)
  at ChildProcess.emit (events.js:169:7)
  at Process.ChildProcess._handle.onexit (child_process.js:1057:12)

Commands

  2x -1:34.2.0 core:backspace (atom-text-editor.editor.is-focused)
  3x -1:32.7.0 autocomplete-plus:activate (atom-text-editor.editor.is-focused)

Config

{
  "core": {
    "audioBeep": false,
    "disabledPackages": [
      "whitespace"
    ]
  },
  "autocomplete-elixir": {
    "elixirPath": "/usr/local/bin/"
  }
}

Installed Packages

# User
atom-fsharp, v0.6.2
autocomplete-elixir, v1.3.7
language-elixir, v0.5.1

# Dev
No dev packages

error

[Enter steps to reproduce below:]

  1. ...
  2. ...

Atom Version: 1.5.4
System: Mac OS X 10.11.3
Thrown From: autocomplete-elixir package, v1.5.13

Stack Trace

Uncaught Error: This socket is closed.

At /Users/user/Downloads/Atom.app/Contents/Resources/app.asar/src/pane.js:825

Error: This socket is closed.
    at Socket._writeGeneric (net.js:640:19)
    at Socket._write (net.js:694:8)
    at doWrite (_stream_writable.js:292:12)
    at writeOrBuffer (_stream_writable.js:278:5)
    at Socket.Writable.write (_stream_writable.js:207:11)
    at Socket.write (net.js:618:40)
    at Object.exports.loadFile (/Users/user/.atom/packages/autocomplete-elixir/lib/alchemide/wrapper.coffee:75:7)
    at /Users/user/.atom/packages/autocomplete-elixir/lib/autocomplete-elixir-client.coffee:19:24
    at Function.module.exports.Emitter.simpleDispatch (/Users/user/Downloads/Atom.app/Contents/Resources/app.asar/node_modules/event-kit/lib/emitter.js:25:14)
    at Emitter.module.exports.Emitter.emit (/Users/user/Downloads/Atom.app/Contents/Resources/app.asar/node_modules/event-kit/lib/emitter.js:125:28)
    at TextBuffer.module.exports.TextBuffer.saveAs (/Users/user/Downloads/Atom.app/Contents/Resources/app.asar/node_modules/text-buffer/lib/text-buffer.js:1067:27)
    at TextBuffer.module.exports.TextBuffer.save (/Users/user/Downloads/Atom.app/Contents/Resources/app.asar/node_modules/text-buffer/lib/text-buffer.js:1037:19)
    at TextEditor.module.exports.TextEditor.save (/Users/user/Downloads/Atom.app/Contents/Resources/app.asar/src/text-editor.js:630:26)
    at Pane.module.exports.Pane.saveItem (/Users/user/Downloads/Atom.app/Contents/Resources/app.asar/src/pane.js:545:18)
    at Pane.module.exports.Pane.saveActiveItem (/Users/user/Downloads/Atom.app/Contents/Resources/app.asar/src/pane.js:528:19)
    at Workspace.module.exports.Workspace.saveActivePaneItem (/Users/user/Downloads/Atom.app/Contents/Resources/app.asar/src/workspace.js:649:35)
    at atom-workspace.commandRegistry.add.core:save (/Users/user/Downloads/Atom.app/Contents/Resources/app.asar/src/register-default-commands.js:173:32)
    at CommandRegistry.module.exports.CommandRegistry.handleCommandEvent (/Users/user/Downloads/Atom.app/Contents/Resources/app.asar/src/command-registry.js:260:29)
    at /Users/user/Downloads/Atom.app/Contents/Resources/app.asar/src/command-registry.js:3:61
    at KeymapManager.module.exports.KeymapManager.dispatchCommandEvent (/Users/user/Downloads/Atom.app/Contents/Resources/app.asar/node_modules/atom-keymap/lib/keymap-manager.js:570:16)
    at KeymapManager.module.exports.KeymapManager.handleKeyboardEvent (/Users/user/Downloads/Atom.app/Contents/Resources/app.asar/node_modules/atom-keymap/lib/keymap-manager.js:378:22)
    at WindowEventHandler.module.exports.WindowEventHandler.handleDocumentKeydown (/Users/user/Downloads/Atom.app/Contents/Resources/app.asar/src/window-event-handler.js:97:36)
    at HTMLDocument.<anonymous> (/Users/user/Downloads/Atom.app/Contents/Resources/app.asar/src/window-event-handler.js:3:61)

Commands

  6x -6:13.8.0 core:close (atom-text-editor.editor.is-focused)
     -5:58.4.0 core:paste (atom-text-editor.editor.is-focused)
     -5:54.9.0 core:cut (atom-text-editor.editor.is-focused)
     -5:49.4.0 tree-view:add-file (span.name.icon.icon-file-directory)
     -5:48.4.0 core:paste (atom-text-editor.editor.mini.is-focused)
     -5:47.9.0 core:confirm (atom-text-editor.editor.mini.is-focused)
     -5:46.5.0 core:move-right (atom-text-editor.editor.is-focused)
     -5:35.2.0 core:paste (atom-text-editor.editor.is-focused)
     -5:34 core:save (atom-text-editor.editor.is-focused)
     -0:05.6.0 editor:newline (atom-text-editor.editor.is-focused)
     -0:05.3.0 core:paste (atom-text-editor.editor.is-focused)
     -0:04.7.0 editor:move-to-first-character-of-line (atom-text-editor.editor.is-focused)
  2x -0:04.3.0 core:backspace (atom-text-editor.editor.is-focused)
     -0:03.2.0 core:save (atom-text-editor.editor.is-focused)

Config

{
  "autocomplete-elixir": {
    "elixirPath": "/usr/local/bin",
    "erlangHome": "/usr/local/bin"
  }
}

Installed Packages

# User
Stylus, v3.0.0
autocomplete-elixir, v1.5.13
elixir-cmd, v0.2.9
language-elixir, v0.12.3
react-es6-snippets, v0.3.0
react-snippets, v0.3.0
stylus-autocompile, v0.5.1

# Dev
No dev packages

Do/end matching is not strict enought

As you can see below, currently package highlight do/end pairs even if they are part of another word. I think it would be better to ensure that do and end keywords is surrounded by whitespaces before highlighting them.
do_end_1
do_end_2

make erlang home path optional - `Erlang home configuration setting missing`

First of, thank you for working on this! ๐Ÿ‘

Maybe I'm missing something, but is it really necessary to set the erlang home path? Isn't it enough to make sure that all the erlang binaries are in a folder in the PATH?

My problem is that I work on Mac OS X and Linux and that I synchronize my config.coffee. That works pretty well as long as I don't use absolute paths. But with the erlang home directory I have to use an absolute path. Which makes my config unsynchronizable ๐Ÿ˜„

Uncaught Error: This socket is close

[Enter steps to reproduce below:]

  1. ...
  2. ...

Atom Version: 1.0.11
System: Mac OS X 10.10.5
Thrown From: autocomplete-elixir package, v1.3.12

Stack Trace

Uncaught Error: This socket is closed.

At /Users/ardhi/Downloads/Atom.app/Contents/Resources/app.asar/src/pane.js:809

Error: This socket is closed.
  at Socket._writeGeneric (net.js:634:19)
  at Socket._write (net.js:687:8)
  at doWrite (_stream_writable.js:295:12)
  at writeOrBuffer (_stream_writable.js:282:5)
  at Socket.Writable.write (_stream_writable.js:210:11)
  at Socket.write (net.js:612:40)
  at Object.exports.loadFile (/Users/ardhi/.atom/packages/autocomplete-elixir/lib/alchemide/wrapper.coffee:54:7)
  at /Users/ardhi/.atom/packages/autocomplete-elixir/lib/autocomplete-elixir-client.coffee:14:22
  at Emitter.module.exports.Emitter.emit (/Users/ardhi/Downloads/Atom.app/Contents/Resources/app.asar/node_modules/event-kit/lib/emitter.js:82:11)
  at TextBuffer.module.exports.TextBuffer.saveAs (/Users/ardhi/Downloads/Atom.app/Contents/Resources/app.asar/node_modules/text-buffer/lib/text-buffer.js:1038:20)
  at TextBuffer.module.exports.TextBuffer.save (/Users/ardhi/Downloads/Atom.app/Contents/Resources/app.asar/node_modules/text-buffer/lib/text-buffer.js:1005:19)
  at TextEditor.module.exports.TextEditor.save (/Users/ardhi/Downloads/Atom.app/Contents/Resources/app.asar/src/text-editor.js:584:26)
  at Pane.module.exports.Pane.saveItem (/Users/ardhi/Downloads/Atom.app/Contents/Resources/app.asar/src/pane.js:547:18)
  at Pane.module.exports.Pane.saveActiveItem (/Users/ardhi/Downloads/Atom.app/Contents/Resources/app.asar/src/pane.js:530:19)
  at Workspace.module.exports.Workspace.saveActivePaneItem (/Users/ardhi/Downloads/Atom.app/Contents/Resources/app.asar/src/workspace.js:609:35)
  at atom-workspace.atom.commands.add.core:save (/Users/ardhi/Downloads/Atom.app/Contents/Resources/app.asar/src/workspace-element.js:293:30)
  at CommandRegistry.module.exports.CommandRegistry.handleCommandEvent (/Users/ardhi/Downloads/Atom.app/Contents/Resources/app.asar/src/command-registry.js:245:29)
  at /Users/ardhi/Downloads/Atom.app/Contents/Resources/app.asar/src/command-registry.js:3:61
  at KeymapManager.module.exports.KeymapManager.dispatchCommandEvent (/Users/ardhi/Downloads/Atom.app/Contents/Resources/app.asar/node_modules/atom-keymap/lib/keymap-manager.js:524:16)
  at KeymapManager.module.exports.KeymapManager.handleKeyboardEvent (/Users/ardhi/Downloads/Atom.app/Contents/Resources/app.asar/node_modules/atom-keymap/lib/keymap-manager.js:347:22)
  at HTMLDocument.module.exports.WindowEventHandler.onKeydown (/Users/ardhi/Downloads/Atom.app/Contents/Resources/app.asar/src/window-event-handler.js:184:20)

Commands

     -5:24.4.0 find-and-replace:show (ol.tree-view.full-menu.list-tree.has-collapsable-children.focusable-panel)
  2x -5:23.4.0 core:confirm (atom-text-editor.editor.mini.is-focused)
  7x -1:21 core:undo (atom-text-editor.editor.is-focused)
     -1:11.7.0 editor:move-to-first-character-of-line (atom-text-editor.editor.is-focused)
     -1:09.8.0 core:move-up (atom-text-editor.editor.is-focused)
  2x -1:09.2.0 core:backspace (atom-text-editor.editor.is-focused)
     -1:03.5.0 editor:move-to-end-of-screen-line (atom-text-editor.editor.is-focused)
     -1:03.0 core:backspace (atom-text-editor.editor.is-focused)
     -1:01.3.0 core:save (atom-text-editor.editor.is-focused)
     -1:00.7.0 editor:consolidate-selections (atom-text-editor.editor.is-focused)
     -1:00.7.0 core:cancel (atom-text-editor.editor.is-focused)
     -0:20 editor:move-to-end-of-screen-line (atom-text-editor.editor.is-focused)
     -0:19.5.0 editor:newline (atom-text-editor.editor.is-focused)
 10x -0:14.5.0 core:backspace (atom-text-editor.editor.is-focused)
     -0:03.0 editor:move-to-end-of-screen-line (atom-text-editor.editor.is-focused)
     -0:01.0 core:save (atom-text-editor.editor.is-focused)

Config

{
  "core": {}
}

Installed Packages

# User
autocomplete-elixir, v1.3.12
elixir-cmd, v0.2.9
iex, v0.9.18
language-elixir, v0.5.2

# Dev
No dev packages

`Esc` key is not trapped when suggestions are shown.

I am using your package with Atom, and I also use the vim-mode package. Pressing Esc when aborting the autocomplete also takes me out of Insert mode in vim. Is there a way for your package to trap the Esc key so that the vim-mode doesn't receive it?

I have done a little research into it, and actually there is a pretty recent Stack Overflow question for the same type of scenario.

In the spirit of contributing, I've tried looking into your code, but there is just too much of the structure that I don't understand. That SO answer mentions a custom css for a custom view, but I can't seem to find how your package creates the popup suggestion view. It looks like alchemide is the "heart" of the brains of figuring out the autocomplete suggestions, and I can follow how the provider talks to the client. I just can't see what is the thing that is popping up the window. Even granting that we could do what the SO unmarked answer suggests, I'm not sure if doing the keybinding would actually trap the Esc key.

Perhaps you could give me (and the rest of the interweb) a super duper quick breakdown of the major pieces, e.g. delorean, provider, client, etc.? And it should go without saying, thanks for the awesomeness of the package in the first place. ๐Ÿ‘

Split package

In recent versions, this package has integrated UI features (do/end highlighting).
Given the philosophy of Atom, I think it would be better to keep
this package as an autocompletion provider, and move other features
unrelated with autocompletion in their own package.
Any thoughts?

Uncaught Error: spawn E2BIG

[Enter steps to reproduce below:]

  1. ...
  2. ...

Atom Version: 1.7.3
System: Mac OS X 10.11.4
Thrown From: autocomplete-elixir package, v1.5.13

Stack Trace

Uncaught Error: spawn E2BIG

At /Applications/Atom.app/Contents/Resources/app.asar/src/buffered-process.js:262

Error: spawn E2BIG
    at exports._errnoException (util.js:856:11)
    at ChildProcess.spawn (internal/child_process.js:298:11)
    at Object.exports.spawn (child_process.js:374:9)
    at BufferedProcess.module.exports.BufferedProcess.spawn (/Applications/Atom.app/Contents/Resources/app.asar/src/buffered-process.js:190:44)
    at new BufferedProcess (/Applications/Atom.app/Contents/Resources/app.asar/src/buffered-process.js:52:14)
    at Object.exports.init (/Users/bryan/.atom/packages/autocomplete-elixir/lib/alchemide/wrapper.coffee:44:12)
    at exit (/Users/bryan/.atom/packages/autocomplete-elixir/lib/alchemide/wrapper.coffee:24:81)
    at triggerExitCallback (/Applications/Atom.app/Contents/Resources/app.asar/src/buffered-process.js:215:47)
    at /Applications/Atom.app/Contents/Resources/app.asar/src/buffered-process.js:229:18
    at Socket.<anonymous> (/Applications/Atom.app/Contents/Resources/app.asar/src/buffered-process.js:100:18)
    at emitOne (events.js:82:20)
    at Socket.emit (events.js:169:7)
    at Pipe._onclose (net.js:469:12)

Commands

Config

{
  "core": {}
}

Installed Packages

# User
autocomplete-elixir, v1.5.13
language-elixir, v0.12.3

# Dev
No dev packages

error "Erlang home configuration setting missing", autocomplete doesn't work

The error message "Erlang home configuration setting missing" is displayed when just saving an .html file. When launching the autocomplete in an elixir file, the error is also displayed.

Error is here...

exports.getAutocompletion = (prefix, cb) ->
  unless inp then exports.init(projectPaths)
  if prefix.trim().length < 1
    cb()
    return
  cmd = if IS_ELIXIR then "a" else "ea"
  # !! error is here, "inp" is undefined
  inp.write "#{cmd} #{prefix}\n"
  waitTillEnd (chunk) ->
    [_, one, multi] = chunk.split("<>")
    cb({one, multi: multi.split(";").filter((a) -> a.trim())})

Atom Version: 1.0.19
System: "Arch Linux"
Elixir: 1.1.1
autocomplete-elixir: 1.4.2
Thrown From: autocomplete-elixir package, v1.4.2

Stack Trace

Uncaught TypeError: Cannot read property 'write' of null

At /usr/share/atom/resources/app.asar/src/pane.js:809

TypeError: Cannot read property 'write' of null
    at Object.exports.loadFile (/home/mark/.atom/packages/autocomplete-elixir/lib/alchemide/wrapper.coffee:70:6)
    at /home/mark/.atom/packages/autocomplete-elixir/lib/autocomplete-elixir-client.coffee:21:31
    at Emitter.module.exports.Emitter.emit (/usr/share/atom/resources/app.asar/node_modules/event-kit/lib/emitter.js:82:11)
    at TextBuffer.module.exports.TextBuffer.saveAs (/usr/share/atom/resources/app.asar/node_modules/text-buffer/lib/text-buffer.js:1037:20)
    at TextBuffer.module.exports.TextBuffer.save (/usr/share/atom/resources/app.asar/node_modules/text-buffer/lib/text-buffer.js:1004:19)
    at TextEditor.module.exports.TextEditor.save (/usr/share/atom/resources/app.asar/src/text-editor.js:584:26)
    at Pane.module.exports.Pane.saveItem (/usr/share/atom/resources/app.asar/src/pane.js:547:18)
    at Object.module.exports.autosavePaneItem (/usr/share/atom/resources/app.asar/node_modules/autosave/lib/autosave.js:64:21)
    at /usr/share/atom/resources/app.asar/node_modules/autosave/lib/autosave.js:29:26

Commands

     -0:06.9.0 editor:newline (atom-text-editor.editor.is-focused)
     -0:04.9.0 autocomplete-plus:activate (atom-text-editor.editor.is-focused)
     -0:02.6.0 window:toggle-dev-tools (atom-text-editor.editor.is-focused)

Config

{
  "core": {},
  "autocomplete-elixir": {}
}

Installed Packages

# User
autocomplete-elixir, v1.4.2
color-picker, v2.0.13
git-log, v0.4.1
iex, v0.9.18
language-elixir, v0.5.2
language-elm, v1.2.0
language-haml, v0.23.4
linter, v1.9.1
linter-elm-make, v0.3.0
linter-sass-lint, v0.4.1
minimap, v4.15.0
minimap-git-diff, v4.1.8
tree-view-git-status, v0.2.2

# Dev
No dev packages

Alias and Import

In my local project when i use 'import' and 'alias' with some module, the auto complete for they doesn't works

Ex:

defmodule MyProject.MyModule do
   import MyProject.AnotherModule
   alias MyProject.AliasModule, as: FastAccess

   def my_func do
      FastAccess.func() # here
      func_by_another_module() # and here, the auto complete doesn't works
   end
end

Obs: I use Atom in Windows 8.1

Don't keep failing to find `erl` if path is not correct

I was trying to figure out why my battery drained so quickly today (my first full day using Atom) and when I opened up the dev tools console I saw thousands of errors because I had set Erlang Home to /usr/bin/erl not /usr/bin so the package was trying to find /usr/bin/er/erl over and over, hundreds of times a second.

It would be nice if it short circuited. It'd also be nice if either path or home was used, but not both.

Thanks!

doctest jumps to top

"doctests" keyword jumps to top.

screen shot 2016-02-20 at 10 05 03 pm

This makes development very troublesome since it is constantly injecting the doctest boilerplate.

fails to autocomplete popup at all and logs an error

System: Arch Linux
Elixir version: 1.1.1
Atom: 1.0.19
The beam.smp process is running but stays at 0% CPU.

There is an error when attempting to open the autocomplete at all. With Atom editing an Elixir mix project and the following file...

defmodule TestingMixBuilds do
  def something do
    IO.puts "howdy"
  end
end

With the cursor on "IO.p" and pressing ctrl+space, no autocomplete is displayed. Opening the Atom Developer Tools, this is the error...

CLOSED 1, Last Error: ** (UndefinedFunctionError) undefined function: nil.current_env/0
    nil.current_env()
    lib/iex/autocomplete.ex:172: IEx.Autocomplete.env_aliases/0
    lib/iex/autocomplete.ex:159: IEx.Autocomplete.expand_alias/1
    lib/iex/autocomplete.ex:145: IEx.Autocomplete.expand_elixir_modules/2
    /home/mark/.atom/packages/autocomplete-elixir/lib/alchemide/autocompleter/autocomplete.exs:104: anonymous fn/5 in :elixir_compiler_0.__FILE__/1
    /home/mark/.atom/packages/autocomplete-elixir/lib/alchemide/autocompleter/autocomplete.exs:118: anonymous fn/3 in :elixir_compiler_0.__FILE__/1

The autocomplete feature currently doesn't work at all for me. Would love to get it working. :)

Failed to load the autocomplete-elixir package

Atom Version: 0.188.0
System: Mac OS X 10.10.2
Thrown From: autocomplete-elixir package, v0.1.0

Stack Trace

Failed to load the autocomplete-elixir package

At Cannot find module 'mime'

Error: Cannot find module 'mime'
  at Module._resolveFilename (module.js:351:15)
  at Function.Module._resolveFilename (/Applications/Atom.app/Contents/Resources/app/src/module-cache.js:383:52)
  at Function.Module._load (module.js:293:25)
  at Module.require (module.js:380:17)
  at require (module.js:399:17)
  at Object.<anonymous> (/Users/lui/.atom/packages/autocomplete-elixir/lib/server/static.js:9:12)
  at Module._compile (module.js:475:26)
  at Object.loadFile [as .js] (/Applications/Atom.app/Contents/Resources/app/src/babel.js:162:21)
  at Module.load (module.js:370:32)
  at Function.Module._load (module.js:325:12)
  at Module.require (module.js:380:17)
  at require (module.js:399:17)
  at Object.<anonymous> (/Users/lui/.atom/packages/autocomplete-elixir/lib/autocomplete-elixir.coffee:2:1)
  at Object.<anonymous> (/Users/lui/.atom/packages/autocomplete-elixir/lib/autocomplete-elixir.coffee:1:1)
  at Module._compile (module.js:475:26)
  at Object.requireCoffeeScript (/Applications/Atom.app/Contents/Resources/app/node_modules/coffee-cash/lib/coffee-cash.js:85:19)
  at Module.load (module.js:370:32)
  at Function.Module._load (module.js:325:12)
  at Module.require (module.js:380:17)
  at require (module.js:399:17)
  at Package.module.exports.Package.requireMainModule (/Applications/Atom.app/Contents/Resources/app/src/package.js:678:34)
  at /Applications/Atom.app/Contents/Resources/app/src/package.js:189:28
  at Package.module.exports.Package.measure (/Applications/Atom.app/Contents/Resources/app/src/package.js:167:15)
  at Package.module.exports.Package.load (/Applications/Atom.app/Contents/Resources/app/src/package.js:181:12)
  at PackageManager.module.exports.PackageManager.loadPackage (/Applications/Atom.app/Contents/Resources/app/src/package-manager.js:383:14)
  at PackageManager.module.exports.PackageManager.activatePackage (/Applications/Atom.app/Contents/Resources/app/src/package-manager.js:460:30)
  at /Applications/Atom.app/Contents/Resources/app/node_modules/settings-view/lib/package-manager.js:268:29
  at exit (/Applications/Atom.app/Contents/Resources/app/node_modules/settings-view/lib/package-manager.js:43:16)
  at BufferedProcess.triggerExitCallback (/Applications/Atom.app/Contents/Resources/app/src/buffered-process.js:63:47)
  at /Applications/Atom.app/Contents/Resources/app/src/buffered-process.js:77:18
  at Socket.<anonymous> (/Applications/Atom.app/Contents/Resources/app/src/buffered-process.js:150:18)
  at Socket.emit (events.js:138:20)
  at Pipe.close (net.js:477:12)

Commands

  3x -9:36.6 core:backspace (atom-text-editor.editor.mini)
  3x -9:34.3 core:confirm (atom-text-editor.editor.mini)
  3x -7:42.0 core:copy (atom-notification.fatal.icon.icon-bug.native-key-bindings.has-detail.has-close.has-stack.remove)
     -0:28.6 editor:newline (atom-text-editor.editor)
 10x -0:25.9 core:backspace (atom-text-editor.editor)

Config

{
  "core": {
    "themes": [
      "one-dark-ui",
      "one-dark-syntax"
    ]
  }
}

Installed Packages

# User
autocomplete-css, v0.6.0
autocomplete-elixir, v0.1.0
autocomplete-html, v0.5.0
autocomplete-plus, v2.7.0
autocomplete-ruby, v0.0.1
elixir-cmd, v0.2.5
iex, v0.8.6
language-elixir, v0.3.4
linter-elixirc, v0.2.1
script, v2.18.0

# Dev
No dev packages

Failed to spawn command `elixir`. Make sure `elixir` is installed and on your PATH

Error message pops up when a new window opened:

Failed to spawn command elixir. Make sure elixir is installed and on your PATH

To reproduce:
Open Atom, then open another window.
Problem resolves when this plugin is disabled, and re-appears when the plugin is enabled.

Note:
elixir is definitely on the path!

More information:
This error results in the development console opening, with this message in the console:

activate iex
activate linter-elixirc
'save-session.dataSaveFolder' could not set the default. Attempted default: undefined; Schema: {"type":"string","description":"The folder in which to save project states"}
Window load time: 2285ms
Uncaught BufferedProcessError: Failed to spawn command `elixir`. Make sure `elixir` is installed and on your PATH
subscribe

Other Elixir plugins all work fine.
This error occurs even if all other elixir plugins are disabled and/or enabled.

Autocomplete doesn't show up

Hi I install the package with apm (can't find it using the setting view)
I have all the dependencies installed and yet I can't use the autocomplete. Before the autocomplete of language-elixir worked and now it doesn't work. When I uninstall the plugin the autocomplete of language-elixir rework.

Have I missed something? I have autocomplete-plus installed and language elixir installed. I am running on a ubuntu linux instance 14.04.last
When I add the path of the binary nothing work too. (/usr/local/bin/)

atom version: 1.3.2

Set Elixir Path/Erlang bin, Atom breaks.

Hi there!

So I checked out one of the (closed) bugs but I'm still getting a problem similar to the one described.
I'm using Elixir 1.1.1, installed via Homebrew.

It's not an error I'm actually receiving, it's the fact that my whole Atom install becomes unresponsive until I manually delete the folder containing autocomplete-elixir. Am I just setting the elixir path wrong?

where does homebrew usually install Elixir, and where can I find my Erlang Bin directory?

Failed to activate the autocomplete-elixir package

[Enter steps to reproduce below:]

  1. Install autocomplete-elixir.
  2. Set the Elixir Path to /usr/local/bin/elixir
  3. Enable the package.

Atom Version: 1.0.0
System: Mac OS X 10.10.3
Thrown From: autocomplete-elixir package, v1.3.7

Stack Trace

Failed to activate the autocomplete-elixir package

At Cannot read property 'stdout' of undefined

TypeError: Cannot read property 'stdout' of undefined
  at Object.exports.init (/Users/trevor/.atom/packages/autocomplete-elixir/lib/alchemide/wrapper.coffee:25:19)
  at new RsenseClient (/Users/trevor/.atom/packages/autocomplete-elixir/lib/autocomplete-elixir-client.coffee:11:18)
  at new RsenseProvider (/Users/trevor/.atom/packages/autocomplete-elixir/lib/autocomplete-elixir-provider.coffee:9:25)
  at Object.module.exports.activate (/Users/trevor/.atom/packages/autocomplete-elixir/lib/autocomplete-elixir.coffee:13:27)
  at Package.module.exports.Package.activateNow (/opt/homebrew-cask/Caskroom/atom/latest/Atom.app/Contents/Resources/app.asar/src/package.js:240:19)
  at /opt/homebrew-cask/Caskroom/atom/latest/Atom.app/Contents/Resources/app.asar/src/package.js:221:30
  at Package.module.exports.Package.measure (/opt/homebrew-cask/Caskroom/atom/latest/Atom.app/Contents/Resources/app.asar/src/package.js:165:15)
  at Package.module.exports.Package.activate (/opt/homebrew-cask/Caskroom/atom/latest/Atom.app/Contents/Resources/app.asar/src/package.js:213:14)
  at PackageManager.module.exports.PackageManager.activatePackage (/opt/homebrew-cask/Caskroom/atom/latest/Atom.app/Contents/Resources/app.asar/src/package-manager.js:452:21)
  at /opt/homebrew-cask/Caskroom/atom/latest/Atom.app/Contents/Resources/app.asar/src/package-manager.js:313:19
  at /opt/homebrew-cask/Caskroom/atom/latest/Atom.app/Contents/Resources/app.asar/src/config.js:574:20
  at Emitter.module.exports.Emitter.emit (/opt/homebrew-cask/Caskroom/atom/latest/Atom.app/Contents/Resources/app.asar/node_modules/event-kit/lib/emitter.js:82:11)
  at Config.module.exports.Config.emitChangeEvent (/opt/homebrew-cask/Caskroom/atom/latest/Atom.app/Contents/Resources/app.asar/src/config.js:736:29)
  at Config.module.exports.Config.setRawValue (/opt/homebrew-cask/Caskroom/atom/latest/Atom.app/Contents/Resources/app.asar/src/config.js:551:19)
  at Config.module.exports.Config.set (/opt/homebrew-cask/Caskroom/atom/latest/Atom.app/Contents/Resources/app.asar/src/config.js:233:14)
  at Config.module.exports.Config.removeAtKeyPath (/opt/homebrew-cask/Caskroom/atom/latest/Atom.app/Contents/Resources/app.asar/src/config.js:343:12)
  at Package.module.exports.Package.enable (/opt/homebrew-cask/Caskroom/atom/latest/Atom.app/Contents/Resources/app.asar/src/package.js:150:26)
  at PackageManager.module.exports.PackageManager.enablePackage (/opt/homebrew-cask/Caskroom/atom/latest/Atom.app/Contents/Resources/app.asar/src/package-manager.js:142:14)
  at HTMLButtonElement.<anonymous> (/opt/homebrew-cask/Caskroom/atom/latest/Atom.app/Contents/Resources/app.asar/node_modules/settings-view/lib/package-card.js:310:27)
  at HTMLButtonElement.jQuery.event.dispatch (/opt/homebrew-cask/Caskroom/atom/latest/Atom.app/Contents/Resources/app.asar/node_modules/jquery/dist/jquery.js:4435:9)
  at HTMLButtonElement.elemData.handle (/opt/homebrew-cask/Caskroom/atom/latest/Atom.app/Contents/Resources/app.asar/node_modules/jquery/dist/jquery.js:4121:28)

Commands

     -0:40.8.0 settings-view:open (atom-text-editor.editor.vim-mode.command-mode.is-focused)
     -0:15 core:paste (atom-text-editor#autocomplete-elixir.elixirPath.editor.mini.is-focused)

Config

{
  "core": {
    "disabledPackages": [
      "symbols-view",
      "wrap-guide"
    ]
  },
  "autocomplete-elixir": {
    "elixirPath": "/usr/local/bin/elixir"
  }
}

Installed Packages

# User
atom-ctags, v4.1.4
autocomplete-elixir, v1.3.7
language-elixir, v0.5.1
vim-mode, v0.54.0

# Dev
No dev packages

Jump to definition

Full jump to definition functionality

  • Local jump to definition
  • Back from a jump
  • Remote jump to definition
    • Elixir sources setting
    • Imports and aliases resolving
    • Gathering project symbols
    • Gathering Elixir sources symbols

Wrong errors in Phoenix project

Channels in Phoenix typically start with someting like this:

# myproject/lib/game_channel.ex
defmodule Square.GameChannel do
  use Square.Web, :channel

This compiles and works just fine but autocomplete-elixir gives Errors: "module Square.Web is not loaded and could not be found at line 2".

My Square.Web module Looks like this:

# myproject/web/web.ex
defmodule Square.Web do
  def controller do
    quote do
      use Phoenix.Controller
      alias Square.Repo
      import Square.Router.Helpers
    end
  end

  def view do
    quote do
      use Phoenix.View, root: "web/templates"
      import Phoenix.Controller, only: [get_csrf_token: 0, get_flash: 2, view_module: 1]
      import Square.Router.Helpers
      use Phoenix.HTML
    end
  end

  def router do
    quote do
      use Phoenix.Router
    end
  end

  def channel do
    quote do
      use Phoenix.Channel
      alias Square.Repo
    end
  end

  defmacro __using__(which) when is_atom(which) do
    apply(__MODULE__, which, [])
  end
end

Failed to spawn command `elixir`

Getting a weird error on enabling autocomplete-elixir

screenshot 2015-05-23 12 30 16

Elixir is installed via brew install elixir

> which elixir
/usr/local/bin/elixir

And of cause /usr/local/bin is in the PATH

> echo $PATH
/Users/fibric/.nvm/versions/io.js/v2.0.1/bin /opt/X11/bin /usr/local/MacGPG2/bin /usr/local/bin /usr/bin /bin /usr/sbin /sbin
> elixir -v
Elixir 1.0.4

What I'm doing wrong here?

Running OSX.

Add doc help to description in autocomplete list entry

This would help when perusing modules so you could quickly see the summary text for the current highlighted selection while looking through the completion list. I think this information should be easily accessible via the Code.get_docs function

Uncaught Error: This socket is closed.

[Enter steps to reproduce below:]

  1. Open an Elixir .ex file in Atom.
  2. Type some Elixir code.
  3. Save the file. The error always happens when saving.

Atom Version: 0.201.0
System: Mac OS X 10.10.3
Thrown From: autocomplete-elixir package, v1.2.6

Stack Trace

Uncaught Error: This socket is closed.

At /Applications/Atom.app/Contents/Resources/app.asar/src/pane.js:759

Error: This socket is closed.
    at Socket._writeGeneric (net.js:634:19)
    at Socket._write (net.js:687:8)
    at doWrite (_stream_writable.js:295:12)
    at writeOrBuffer (_stream_writable.js:282:5)
    at Socket.Writable.write (_stream_writable.js:210:11)
    at Socket.write (net.js:612:40)
    at Object.exports.loadFile (/Users/clinton/.atom/packages/autocomplete-elixir/lib/alchemide/wrapper.coffee:66:9)
    at /Users/clinton/.atom/packages/autocomplete-elixir/lib/autocomplete-elixir-client.coffee:21:31
    at Emitter.module.exports.Emitter.emit (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/event-kit/lib/emitter.js:82:11)
    at TextBuffer.module.exports.TextBuffer.saveAs (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/text-buffer/lib/text-buffer.js:985:20)

Commands

     -1:11.8.0 core:move-right (atom-text-editor.editor.is-focused)
     -1:09.4.0 core:backspace (atom-text-editor.editor.is-focused)
  3x -0:57.7.0 core:move-right (atom-text-editor.editor.is-focused)
     -0:40.2.0 editor:newline-below (atom-text-editor.editor.is-focused)
  3x -0:36 core:backspace (atom-text-editor.editor.is-focused)
     -0:33.9.0 editor:consolidate-selections (atom-text-editor.editor.is-focused)
     -0:33.9.0 core:cancel (atom-text-editor.editor.is-focused)
  6x -0:32.5.0 core:move-down (atom-text-editor.editor.is-focused)
  2x -0:31.4.0 editor:newline (atom-text-editor.editor.is-focused)
  6x -0:17.5.0 core:move-up (atom-text-editor.editor.is-focused)
  5x -0:16.2.0 core:move-right (atom-text-editor.editor.is-focused)
  2x -0:14.9.0 core:backspace (atom-text-editor.editor.is-focused)
  2x -0:06.5.0 core:move-up (atom-text-editor.editor.is-focused)
  3x -0:05.5.0 core:move-left (atom-text-editor.editor.is-focused)
  4x -0:03.3.0 core:backspace (atom-text-editor.editor.is-focused)
     -0:00.6.0 core:save (atom-text-editor.editor.is-focused)

Config

{
  "core": {
    "themes": [
      "seti-ui",
      "seti-syntax"
    ]
  }
}

Installed Packages

# User
autocomplete-elixir, v1.2.6
autocomplete-ruby, v0.1.0
color-picker, v1.7.0
elixir-cmd, v0.2.6
iex, v0.9.6
keybinding-cheatsheet, v0.0.9
language-elixir, v0.4.0
language-haml, v0.20.0
linter-elixirc, v0.2.1
linter-ruby, v0.1.6
minimap, v4.9.0
ruby-block, v0.3.3
ruby-slim, v0.2.0
script, v2.23.0
seti-syntax, v0.4.0
seti-ui, v0.7.1

# Dev
No dev packages

erl process keeps running after atom crash

When the atom process hosting the erl process is ended unexpectedly then the erl process is never closed.

Maybe this happens because atom doesn't start Elixir directly but why Windows' conhost.exe. (Command line is: C:\Windows\system32\cmd.exe /s /c "elixir "C:\Users\Martin.atom\packages\autocomplete-elixir\lib\alchemide\autocompleter\autocomplete.exs" "O:\Projekte\2048squared"" )

Windows 8.1 x64, Elixir 1.0.4, OTP 17.5

Failed to load the autocomplete-elixir package

[Enter steps to reproduce below:]

  1. Install

Atom Version: 0.188.0
System: Mac OS X 10.10.1
Thrown From: autocomplete-elixir package, v0.1.2

Stack Trace

Failed to load the autocomplete-elixir package

At dlopen(/Users/theocodes/.atom/packages/autocomplete-elixir/lib/server/pty.js/build/Release/pty.node, 1): no suitable image found.  Did find:
    /Users/theocodes/.atom/packages/autocomplete-elixir/lib/server/pty.js/build/Release/pty.node: unknown file type, first eight bytes: 0x7F 0x45 0x4C 0x46 0x02 0x01 0x01 0x00

Error: dlopen(/Users/theocodes/.atom/packages/autocomplete-elixir/lib/server/pty.js/build/Release/pty.node, 1): no suitable image found.  Did find:
    /Users/theocodes/.atom/packages/autocomplete-elixir/lib/server/pty.js/build/Release/pty.node: unknown file type, first eight bytes: 0x7F 0x45 0x4C 0x46 0x02 0x01 0x01 0x00
  at Error (native)
  at Object.module.(anonymous function) (ATOM_SHELL_ASAR.js:118:20)
  at Object.module.(anonymous function) [as .node] (ATOM_SHELL_ASAR.js:118:20)
  at Module.load (module.js:370:32)
  at Function.Module._load (module.js:325:12)
  at Module.require (module.js:380:17)
  at require (module.js:399:17)
  at Object.<anonymous> (/Users/theocodes/.atom/packages/autocomplete-elixir/lib/server/pty.js/lib/pty.js:8:11)
  at Module._compile (module.js:475:26)
  at Object.loadFile [as .js] (/Applications/Atom.app/Contents/Resources/app/src/babel.js:162:21)
  at Module.load (module.js:370:32)
  at Function.Module._load (module.js:325:12)
  at Module.require (module.js:380:17)
  at require (module.js:399:17)
  at Object.<anonymous> (/Users/theocodes/.atom/packages/autocomplete-elixir/lib/server/pty.js/index.js:2:18)
  at Module._compile (module.js:475:26)
  at Object.loadFile [as .js] (/Applications/Atom.app/Contents/Resources/app/src/babel.js:162:21)
  at Module.load (module.js:370:32)
  at Function.Module._load (module.js:325:12)
  at Module.require (module.js:380:17)
  at require (module.js:399:17)
  at Object.<anonymous> (/Users/theocodes/.atom/packages/autocomplete-elixir/lib/server/erlang/erlang.js:6:11)
  at Module._compile (module.js:475:26)
  at Object.loadFile [as .js] (/Applications/Atom.app/Contents/Resources/app/src/babel.js:162:21)
  at Module.load (module.js:370:32)
  at Function.Module._load (module.js:325:12)
  at Module.require (module.js:380:17)
  at require (module.js:399:17)
  at Object.<anonymous> (/Users/theocodes/.atom/packages/autocomplete-elixir/lib/server/static.js:30:1)
  at Module._compile (module.js:475:26)
  at Object.loadFile [as .js] (/Applications/Atom.app/Contents/Resources/app/src/babel.js:162:21)
  at Module.load (module.js:370:32)
  at Function.Module._load (module.js:325:12)
  at Module.require (module.js:380:17)
  at require (module.js:399:17)
  at Object.<anonymous> (/Users/theocodes/.atom/packages/autocomplete-elixir/lib/autocomplete-elixir.coffee:2:1)
  at Object.<anonymous> (/Users/theocodes/.atom/packages/autocomplete-elixir/lib/autocomplete-elixir.coffee:1:1)
  at Module._compile (module.js:475:26)
  at Object.requireCoffeeScript (/Applications/Atom.app/Contents/Resources/app/node_modules/coffee-cash/lib/coffee-cash.js:85:19)
  at Module.load (module.js:370:32)
  at Function.Module._load (module.js:325:12)
  at Module.require (module.js:380:17)
  at require (module.js:399:17)
  at Package.module.exports.Package.requireMainModule (/Applications/Atom.app/Contents/Resources/app/src/package.js:678:34)
  at /Applications/Atom.app/Contents/Resources/app/src/package.js:189:28
  at Package.module.exports.Package.measure (/Applications/Atom.app/Contents/Resources/app/src/package.js:167:15)
  at Package.module.exports.Package.load (/Applications/Atom.app/Contents/Resources/app/src/package.js:181:12)
  at PackageManager.module.exports.PackageManager.loadPackage (/Applications/Atom.app/Contents/Resources/app/src/package-manager.js:383:14)
  at PackageManager.module.exports.PackageManager.activatePackage (/Applications/Atom.app/Contents/Resources/app/src/package-manager.js:460:30)
  at /Applications/Atom.app/Contents/Resources/app/node_modules/settings-view/lib/package-manager.js:268:29
  at exit (/Applications/Atom.app/Contents/Resources/app/node_modules/settings-view/lib/package-manager.js:43:16)
  at BufferedProcess.triggerExitCallback (/Applications/Atom.app/Contents/Resources/app/src/buffered-process.js:63:47)
  at /Applications/Atom.app/Contents/Resources/app/src/buffered-process.js:70:18
  at Socket.<anonymous> (/Applications/Atom.app/Contents/Resources/app/src/buffered-process.js:150:18)
  at Socket.emit (events.js:138:20)
  at Pipe.close (net.js:477:12)

Commands

     -0:50.0 core:save (atom-text-editor.editor)
     -0:48.5 command-palette:toggle (atom-text-editor.editor)
  3x -0:43.4 core:move-down (atom-text-editor.editor.mini)
  2x -0:42.2 core:move-up (atom-text-editor.editor.mini)
     -0:41.9 editor:consolidate-selections (atom-text-editor.editor.mini)
     -0:41.9 core:cancel (atom-text-editor.editor.mini)
     -0:40.7 command-palette:toggle (atom-text-editor.editor)
     -0:38.3 core:confirm (atom-text-editor.editor.mini)
     -0:38.3 script:run (atom-text-editor.editor)
     -0:28.7 core:select-all (atom-text-editor.editor)
     -0:28.5 editor:delete-to-beginning-of-line (atom-text-editor.editor)
     -0:27.7 core:save (atom-text-editor.editor)
     -0:25.9 editor:newline (atom-text-editor.editor)
  3x -0:19.1 core:backspace (atom-text-editor.editor)
     -0:10.8 core:confirm (atom-text-editor.editor.mini)

Config

{
  "core": {
    "themes": [
      "one-dark-ui",
      "one-dark-syntax"
    ]
  }
}

Installed Packages

# User
autocomplete-elixir, v0.1.2
elixir-cmd, v0.2.5
iex, v0.8.6
language-elixir, v0.3.4
linter-elixirc, v0.2.1
minimap-git-diff, v4.1.2
script, v2.18.0

# Dev
No dev packages

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.