Git Product home page Git Product logo

atom-elmjutsu's People

Contributors

anagrius avatar antouank avatar armatures avatar halohalospecial avatar methodgrab avatar raqystyle avatar ymtszw 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

atom-elmjutsu's Issues

find usages doubled?

I'm seeing an issue where all of the results of Packages -> Elmjutsu -> Find Usages are doubled in the results pane. e.g.

File 1 Usage 1
File 1 Usage 2
File 1 Usage 1
File 1 Usage 2
File 2 Usage 1
File 2 Usage 1

Can you think of any reason this might be happening? Would another plugin interfere?

Thanks.

"Uncaught TypeError: Cannot read property 'add' of null" on the second use of 'Lift to Let'

Lift to let works fine the first time. the next time it does not and throws this error. Undoing the lift operation and re applying in the exact same scenario makes it happen, so it just seems to be throwing in all cases the second time, the code does not matter.

Atom Version: 1.13.0
Electron Version: 1.3.13
System: Microsoft Windows 10 Pro
Thrown From: elmjutsu package, v3.1.0

Stack Trace

Uncaught TypeError: Cannot read property 'add' of null

At C:\Users\andrew\AppData\Local\atom\app-1.13.0\resources\app.asar\node_modules\text-buffer\lib\text-buffer.js:872

TypeError: Cannot read property 'add' of null
    at ActOnSelection.handleEndOfAct (file:///C:/Users/andrew/.atom/packages/elmjutsu/lib/act-on-selection.js:30:23)
    at file:///C:/Users/andrew/.atom/packages/elmjutsu/lib/act-on-selection.js:190:14
    at TextBuffer.module.exports.TextBuffer.transact (C:\Users\andrew\AppData\Local\atom\app-1.13.0\resources\app.asar\node_modules\text-buffer\lib\text-buffer.js:867:18)
    at TextEditor.module.exports.TextEditor.transact (C:\Users\andrew\AppData\Local\atom\app-1.13.0\resources\app.asar\src\text-editor.js:1566:26)
    at ActOnSelection.liftToLetCommand (file:///C:/Users/andrew/.atom/packages/elmjutsu/lib/act-on-selection.js:71:14)
    at atom-text-editor.elmjutsuLiftToLet (file:///C:/Users/andrew/.atom/packages/elmjutsu/lib/main.js:39:57)
    at CommandRegistry.module.exports.CommandRegistry.handleCommandEvent (C:\Users\andrew\AppData\Local\atom\app-1.13.0\resources\app.asar\src\command-registry.js:259:29)
    at C:\Users\andrew\AppData\Local\atom\app-1.13.0\resources\app.asar\src\command-registry.js:3:59
    at CommandPaletteView.module.exports.CommandPaletteView.confirmed (C:\Users\andrew\AppData\Local\atom\app-1.13.0\resources\app.asar\node_modules\command-palette\lib\command-palette-view.js:210:32)
    at CommandPaletteView.module.exports.SelectListView.confirmSelection (C:\Users\andrew\AppData\Local\atom\app-1.13.0\resources\app.asar\node_modules\atom-space-pen-views\lib\select-list-view.js:338:21)
    at space-pen-div.atom.commands.add.core:confirm (C:\Users\andrew\AppData\Local\atom\app-1.13.0\resources\app.asar\node_modules\atom-space-pen-views\lib\select-list-view.js:109:19)
    at CommandRegistry.module.exports.CommandRegistry.handleCommandEvent (C:\Users\andrew\AppData\Local\atom\app-1.13.0\resources\app.asar\src\command-registry.js:259:29)
    at C:\Users\andrew\AppData\Local\atom\app-1.13.0\resources\app.asar\src\command-registry.js:3:59
    at KeymapManager.module.exports.KeymapManager.dispatchCommandEvent (C:\Users\andrew\AppData\Local\atom\app-1.13.0\resources\app.asar\node_modules\atom-keymap\lib\keymap-manager.js:587:16)
    at KeymapManager.module.exports.KeymapManager.handleKeyboardEvent (C:\Users\andrew\AppData\Local\atom\app-1.13.0\resources\app.asar\node_modules\atom-keymap\lib\keymap-manager.js:382:22)
    at WindowEventHandler.module.exports.WindowEventHandler.handleDocumentKeyEvent (C:\Users\andrew\AppData\Local\atom\app-1.13.0\resources\app.asar\src\window-event-handler.js:106:36)
    at HTMLDocument.<anonymous> (C:\Users\andrew\AppData\Local\atom\app-1.13.0\resources\app.asar\src\window-event-handler.js:3:59)

Add setting so sidekick shows only type signature + description

A lot of the core functions have a LOT of documentation, so the sidekick suddenly appears and it is HUGE. Hard to cope with on a laptop.
I know we could mess with the size and try to tweak it so that it just right, but it would be better I think if the sidekick only showed the type and first line of the description - this is 90% of the time all you care about. There could be a button to expand it to show the full docs, including examples etc temporarily.
I think out of the box the default is to show everything, so you do get blasted all the time with the documentation for '|>' and other core functions!

Completion from type annotation should take into account '|>'

The completion from type annotation is really useful, but when you are piping in the last parameter, you have to just delete that part of the auto completion

[] |> Lists.Extra.Find (a -> Bool) List a

You don't really want the last 'List a'

Not sure how feasible it is, but would be nice

edit:

Also may be worth looking at some of the other operators like <|, >> << and infix functions

Feature Request: Sidekick displays doc comments

Documentation comments {-| doc comment place before function -} in the current project would be awesome to see in the sidekick. I have a few functions in one of my modules that I like to see the doc of to see how to format certain parts of the input but the sidekick only displays, for example SomeApp.SimpleHelpers.flagsContain : List String -> String -> Bool instead of the documentation comment associated with it as well.

failed to download package docs

After updating, sidekick is not working for public packages. Sidekick still works for local functions. Uninstall + reinstall of the package and changing the cache directory did nothing.

Auto-complete selection bug

Greetings, first see this image https://overminddl1.com/screenshots/work/elmjutsu-report0.gif:
bug demo

  1. I type out Navigation.pro, this is perfect (and fast!), although page up/down does not work (instead the page jumps up/down)
  2. The first 'argument' is already selected, which selects not only the first argument but also the record opening { and the entire first argument to the record of init (of which the end part of ( model, Platform.Cmd.Cmd msg ) got oddly changed to remove the first parenthesis to become model, Platform.Cmd.Cmd msg ), and view and subscriptions somehow got its -> vanished.
  3. I type 1 to replace it, to signify it is arg 1, then hit
  4. It then selects the next part of the record, the update, I replace it with 2 and hit
  5. So on and so forth.

The type of Navigation.programWithFlags as per the sidekick is:

Navigation.programWithFlags : Navigation.Parser data -> { init : flags -> data -> ( model, Platform.Cmd.Cmd msg ) , update : msg -> model -> ( model, Platform.Cmd.Cmd msg ) , urlUpdate : data -> model -> ( model, Platform.Cmd.Cmd msg ) , view : model -> Html.Html msg , subscriptions : model -> Platform.Sub.Sub msg } -> Platform.Program flags

And yet the auto-complete selection of programWithFlags is:

Navigation.programWithFlags (Navigation.Parser data -> { init : flags -> data ->  model, Platform.Cmd.Cmd msg ) ( , update : msg -> model ->  model, Platform.Cmd.Cmd msg ) ( , urlUpdate : data -> model ->  model, Platform.Cmd.Cmd msg ) , view : model Html.Html msg , subscriptions : model Platform.Sub.Sub msg }

Which does not seem to match at all. There are many spurious parenthesis (out of order with { and such too), when what should probably happen is it output this (with the things inside of brackets < > being tabbable and everything else skipped:

Navigation.programWithFlags < Navigation.Parser data >
  { init = < flags -> data -> ( model, Platform.Cmd.Cmd msg ) >
  , update = < msg -> model -> ( model, Platform.Cmd.Cmd msg ) >
  , urlUpdate = < data -> model -> ( model, Platform.Cmd.Cmd msg ) >
  , view = < model -> Html.Html msg >
  , subscriptions = < model -> Platform.Sub.Sub msg >
  }

Appropriately indented of course. Or perhaps this should be the auto-completed result (notice only two arguments within < >, one is the parser and the other is the record):

Navigation.programWithFlags < Navigation.Parser data > < { init = flags -> data -> ( model, Platform.Cmd.Cmd msg ) , update = msg -> model -> ( model, Platform.Cmd.Cmd msg ) , urlUpdate = data -> model -> ( model, Platform.Cmd.Cmd msg ) , view = model -> Html.Html msg , subscriptions = model -> Platform.Sub.Sub msg }>

Regardless, the current method results in very broken tabbing. :-)

Uncaught Error: Trying to send an unexpected type of value through port `fileContentsChangedSub`:...

[Enter steps to reproduce below:]

  1. Enable elmjutsu
  2. Open an Elm file

Atom Version: 1.13.0
Electron Version: 1.3.13
System: Ubuntu 16.04.1
Thrown From: elmjutsu package, v2.18.0

Stack Trace

Uncaught Error: Trying to send an unexpected type of value through port fileContentsChangedSub:
Expecting an object with a field named name at _[2].values.values[3] but instead got: {"args":["url"]}

At /home/paul/.atom/packages/elmjutsu/elm/indexer.js:3528

Error: Trying to send an unexpected type of value through port `fileContentsChangedSub`:
Expecting an object with a field named `name` at _[2].values.values[3] but instead got: {"args":["url"]}
    at postInitSend (/home/paul/.atom/packages/elmjutsu/elm/indexer.js:3528:10)
    at Object.send (/home/paul/.atom/packages/elmjutsu/elm/indexer.js:3542:3)
    at /home/paul/.atom/packages/elmjutsu/lib/indexing.js:98:48

Commands

     -1:42.7.0 command-palette:toggle (atom-pane.pane.active)
     -1:41.1.0 core:confirm (input.hidden-input)
     -1:41.1.0 settings-view:open (atom-pane.pane.active)

Config

{
  "core": {
    "disabledPackages": [
      "activate-power-mode"
    ]
  },
  "elmjutsu": {
    "cacheDirectory": "/tmp/elmjutsu21570BgtwbKN9XIHA"
  }
}

Installed Packages

# User
activate-power-mode, v1.0.2 (inactive)
atom-typescript, v10.1.12 (active)
elmjutsu, v2.18.0 (active)
emmet, v2.4.3 (active)
hyperclick, v0.0.39 (active)
keyboard-localization, v1.4.18 (active)
language-elm, v1.5.0 (active)
language-scala, v1.1.6 (active)
linter, v1.11.18 (active)
atom-dark-syntax, v0.28.0 (inactive)
atom-dark-ui, v0.53.0 (inactive)
atom-light-syntax, v0.29.0 (inactive)
atom-light-ui, v0.46.0 (inactive)
base16-tomorrow-dark-theme, v1.4.0 (inactive)
base16-tomorrow-light-theme, v1.4.0 (inactive)
one-dark-ui, v1.8.2 (active)
one-light-ui, v1.8.2 (inactive)
one-dark-syntax, v1.6.0 (active)
one-light-syntax, v1.6.0 (inactive)
solarized-dark-syntax, v1.1.1 (inactive)
solarized-light-syntax, v1.1.1 (inactive)
about, v1.7.2 (active)
archive-view, v0.62.0 (active)
autocomplete-atom-api, v0.10.0 (active)
autocomplete-css, v0.14.1 (active)
autocomplete-html, v0.7.2 (active)
autocomplete-plus, v2.33.1 (active)
autocomplete-snippets, v1.11.0 (active)
autoflow, v0.29.0 (inactive)
autosave, v0.23.2 (active)
background-tips, v0.26.1 (active)
bookmarks, v0.43.2 (active)
bracket-matcher, v0.85.1 (active)
command-palette, v0.39.1 (active)
deprecation-cop, v0.55.1 (active)
dev-live-reload, v0.47.0 (active)
encoding-selector, v0.22.0 (active)
exception-reporting, v0.40.0 (active)
find-and-replace, v0.204.5 (inactive)
fuzzy-finder, v1.4.0 (active)
git-diff, v1.2.0 (active)
go-to-line, v0.31.2 (inactive)
grammar-selector, v0.48.2 (active)
image-view, v0.60.0 (active)
incompatible-packages, v0.26.1 (active)
keybinding-resolver, v0.35.0 (active)
line-ending-selector, v0.5.1 (active)
link, v0.31.2 (inactive)
markdown-preview, v0.159.1 (active)
metrics, v1.1.2 (active)
notifications, v0.65.1 (active)
open-on-github, v1.2.1 (inactive)
package-generator, v1.0.2 (inactive)
settings-view, v0.244.0 (active)
snippets, v1.0.4 (active)
spell-check, v0.68.5 (active)
status-bar, v1.6.0 (active)
styleguide, v0.48.0 (active)
symbols-view, v0.113.1 (inactive)
tabs, v0.103.1 (active)
timecop, v0.33.2 (active)
tree-view, v0.211.1 (active)
update-package-dependencies, v0.10.0 (active)
welcome, v0.35.1 (active)
whitespace, v0.35.0 (active)
wrap-guide, v0.39.0 (active)
language-c, v0.54.0 (active)
language-clojure, v0.22.1 (active)
language-coffee-script, v0.48.1 (active)
language-csharp, v0.13.0 (active)
language-css, v0.40.1 (active)
language-gfm, v0.88.0 (active)
language-git, v0.15.0 (active)
language-go, v0.43.0 (active)
language-html, v0.47.1 (active)
language-hyperlink, v0.16.1 (active)
language-java, v0.24.0 (active)
language-javascript, v0.122.0 (active)
language-json, v0.18.3 (active)
language-less, v0.29.6 (active)
language-make, v0.22.2 (active)
language-mustache, v0.13.0 (active)
language-objective-c, v0.15.1 (active)
language-perl, v0.37.0 (active)
language-php, v0.37.3 (active)
language-property-list, v0.8.0 (active)
language-python, v0.45.1 (active)
language-ruby, v0.70.2 (active)
language-ruby-on-rails, v0.25.1 (active)
language-sass, v0.57.0 (active)
language-shellscript, v0.23.0 (active)
language-source, v0.9.0 (active)
language-sql, v0.25.0 (active)
language-text, v0.7.1 (active)
language-todo, v0.29.1 (active)
language-toml, v0.18.1 (active)
language-xml, v0.34.12 (active)
language-yaml, v0.27.1 (active)

# Dev
No dev packages

Multiple elm-package.json files

This plugin looks awesome but it crashes when I try to use it. The reason is that my project does not have a elm-package.json at the root of the folder. That's because I have two Elm projects, one for server-side, one for client-side, and some common source code.

โ”œโ”€โ”€ client
โ”‚   โ”œโ”€โ”€ [some Elm code]
โ”‚   โ””โ”€โ”€ elm-package.json 
โ”œโ”€โ”€ server
โ”‚   โ”œโ”€โ”€ [some Elm code]
โ”‚   โ””โ”€โ”€ elm-package.json 
โ””โ”€โ”€ src
    โ””โ”€โ”€  [some common Elm code]

Is there any chance for the plugin to search for elm-package.json files inside subdirectories and support several Elm projects at once? Maybe with some ignored folders (either based on .gitignore or from plugin settings)

Feature Request: Offline support?

Hey!

I love elmjutsu it is really amazing and useful. I also have spotty internet where I live and sometimes find myself hacking on an elm project without any. I've noticed this causes several elmjutsu related features like autocomplete, imports, and the sidekick to not work or provide their same level of utility. They're not broken, they just clearly expect a constant internet connection.

I haven't looked into it, so it may not even be possible to have a local cache of autocomplete definitions and documentation, but it if were an option that'd great.

A half way solution would be someway of forcing a reload or local cache, because I've always run into a few situations where my internet is restored but the sidekick our autocomplete continues to say I'm offline, or there was a connection error, etc.

Thanks again!

Add Import: duplicate existing imports are not always removed

Given:

module Main exposing (..)

import Html
import Array
import List
import List

import List

Then Add Import -> Task

Get:

module Main exposing (..)

import Array
import Html
import List
import Task

import List

Note 'import List' is still there twice
Perhaps the clear line between duplicate 'import List' is stopping the de-duping.

module Main exposing (..)

import Html
import Array
import List
import List
import List

Seems to work OK.

I think this is another case probably, where the feature works as long as you have elm-formatted code

Elmjutsu won't load when seti-ui theme is used

It looks like the less variable @text-color-added isn't working with the seti-ui theme. This isn't a elmjutsu problem, it works fine with other themes. Wanted to inform you in case you get reports of the latest version not working since the seti-ui theme is pretty popular.

Goto definition corepacakage wrong path

Hi, sorry I am on Win10...

When I tried your plugin, I Ctrl-clicked on onClick in my source.
It could not open file
...\elm-stuff\packages\elm-lang\html\1.1.0\src\Html.Events.elm because it is in
...\elm-stuff\packages\elm-lang\html\1.1.0\src\Html\Events.elm

probably Windows related or small bug?

Uncaught TypeError on startup

Since 2.50 I see the following error when starting up atom:

Uncaught TypeError: _this3.getWorkDirectory is not a function /home/ryan/.atom/packages/elmjutsu/lib/core.js:180

I would normally get the error repeated 2 or 3 times, but if I go to the indicated line and move the guard clause above the setTimeout call that tries to call this.getWorkDirectory, then I only get the error once.

Find usages and rename limitations

This is probably multiple issues, but I'll let you be the judge of that. I was looking at your find usages and refactor/rename feature to gain some inspirations for my Light Table plugin and came across a few things that I figured I'd report back to you in case you haven't already thought about them

  1. Find usages doesn't seem to handle the case when you from another module explicitly expose an item in the exposing clause of an import (ie when not using an alias or the module name as prefix for a symbol)
  2. Find usages doesn't cater for comments (you could argue that's fine to get hits in comments, or maybe not)
  3. Find usages doesn't handle shadowing. Really tricky one (:
  4. Find usages doesn't handle using record/type alias field names that shadows a top level declaration name (when getting usages within the module the symbol belongs to)

I'm going to struggle with the exact same problems, so I'm not going to provide a rename feature quite yet I think.

Anyways, super-impressed by what you have done and you've provided me with lots of inspiration :-) So keep up the good work !

Go to definition: not working on Mac OS

I have looked at all the editors available with almost all the popular plugins available. I think you got the best.

Only thing is, in my setup "Go to definition" functionality is not working.

I have even deleted .atom directory which contains everything atom and downloaded fresh atom executable from their website. Then I installed language language-elm, elmjutsu and hyperclick. This is on Mac OS.

I am never able to go to definitions defined inside elm packages. But in one of the project structure I was able to go to definitions defined inside the same file and the files in the same folder.

Let me know if you need any more details.

If this gets fixed, it would be awesome. :)

Failed to load package docs

Because of a recent change in package.elm-lang.org (elm/package.elm-lang.org@2995ff9), the current version will not be able to get the latest documentation of 3rd party Elm packages. Autocomplete and Sidekick will not work anymore for 3rd party packages.

Also refer to elm/package.elm-lang.org#196

The fix is to read and watch elm-stuff/exact-dependencies.json of each project to get the exact version numbers to pass to package.elm-lang.org. Will require major changes and some time to implement, though.

'Go to Definition' fails on some nested modules

Hello

I've got an import that reads like in the snippet below

import Result.Extra as Result

When the cursor is positioned in the Result.Extra part and I trigger the Go to Definition command an error pops up saying it cannot find the source file.

image

Apparently elmjutsu doesn't replace the dot with a directory separator character and as a result it tries to open the incorrect file.

Additionally, when the cursor is in the Result token (after the as token) the same message pops up and two tabs appear; both having the same file opened: the Result.elm from elm-lang/core module.

markBufferRange doesn't allow persistent option

Since 1.12 (and even more likely in 1.13) markBufferRange as stated in atom/text-buffer#154 doesn't pass the persistent option down. Instead you need to use a addMarkerLayer and then use markRange in that layer, as commented in that same issue. This is due to the changes that happened at atom/text-buffer#149

This is change needs to be applied to the line 97 of symbol-finder.js

Due to this a deprecation warning is shown in the deprecation cop. Again this is most likely due to the use of Atom Beta 1.13, but there shouldn't be impact in 1.12 by performing this change.

The actual error is:

Assigning custom properties to a marker when creating/copying it is deprecated. Please, consider storing the custom properties you need in some other object in your package, keyed by the marker's id property.

Function.extractParams - C:\Users\xxxxxx\AppData\Local\atom\app-1.13.0-beta8\resources\app.asar\node_modules\text-buffer\lib\marker.js:43:14
MarkerLayer.markRange - C:\Users\xxxxxx\AppData\Local\atom\app-1.13.0-beta8\resources\app.asar\node_modules\text-buffer\lib\marker-layer.js:196:71
DisplayMarkerLayer.markBufferRange - C:\Users\xxxxxx\AppData\Local\atom\app-1.13.0-beta8\resources\app.asar\node_modules\text-buffer\lib\display-marker-layer.js:90:62
TextEditor.markBufferRange - C:\Users\xxxxxx\AppData\Local\atom\app-1.13.0-beta8\resources\app.asar\src\text-editor.js:1753:38
<unknown> - C:\Users\xxxxxx\.atom\packages\elmjutsu\lib\symbol-finder.js:125:40

But the pointed line and character is actually after the compilation through Babel.

I searched the compile-cache folder and found the file with the name 2a724e462a7edea8b03d0703a18f5d8b77e028d0.js which is the hash of symbol-finder.js and the compiled line 125 was:

          _this3.symbolMarker = editor.markBufferRange(symbolRange, { invalidate: 'never', persistent: false });

Elm syntax coloring and formatting for blocks.

Elm syntax coloring and formatting for blocks.

As per https://groups.google.com/forum/#!topic/elm-discuss/HIdcbC0IOHk the blocks in Elm, like glsl blocks, are not formatted properly. It would be nice if they were not only syntax colored properly based on the embedded type (for known blocks like GLSL), but potentially even change the atom language within them (like how Atom's markdown auto-colors code fences properly based on the language).

Example GLSL block in a function:

fragmentShader : Shader {} Uniform Varying
fragmentShader =
    [glsl|
         precision mediump float;
         varying vec4 fragColor;

         void main () {
             gl_FragColor = fragColor;
         }
    |]

Cannot find module 'underscore-plus'

Each time there is an update or when I launch Atom, I get this error Cannot find module 'underscore-plus'. Here is the stack trace given by Atom. Thanks in advance :)

Atom Version: 1.9.9
System: Mac OS X 10.11.6
Thrown From: elmjutsu package, v1.1.0

Stack Trace

Failed to activate the elmjutsu package

At Cannot find module 'underscore-plus'

Error: Cannot find module 'underscore-plus'
    at Module._resolveFilename (module.js:339:15)
    at Function.Module._resolveFilename (/Applications/Atom.app/Contents/Resources/app.asar/src/module-cache.js:383:52)
    at Function.Module._load (module.js:290:25)
    at Module.require (module.js:367:17)
    at require (/Applications/Atom.app/Contents/Resources/app.asar/src/native-compile-cache.js:50:27)
    at Object.<anonymous> (/Users/fenn/.atom/packages/elmjutsu/lib/helper.js:6:11)
    at Module._compile (/Applications/Atom.app/Contents/Resources/app.asar/src/native-compile-cache.js:103:30)
    at Object.defineProperty.value [as .js] (/Applications/Atom.app/Contents/Resources/app.asar/src/compile-cache.js:208:21)
    at Module.load (module.js:357:32)
    at Function.Module._load (module.js:314:12)
    at Module.require (module.js:367:17)
    at require (/Applications/Atom.app/Contents/Resources/app.asar/src/native-compile-cache.js:50:27)
    at Object.<anonymous> (/Users/fenn/.atom/packages/elmjutsu/lib/main.js:7:15)
    at Module._compile (/Applications/Atom.app/Contents/Resources/app.asar/src/native-compile-cache.js:103:30)
    at Object.defineProperty.value [as .js] (/Applications/Atom.app/Contents/Resources/app.asar/src/compile-cache.js:208:21)
    at Module.load (module.js:357:32)
    at Function.Module._load (module.js:314:12)
    at Module.require (module.js:367:17)
    at require (/Applications/Atom.app/Contents/Resources/app.asar/src/native-compile-cache.js:50:27)
    at Package.module.exports.Package.requireMainModule (/Applications/Atom.app/Contents/Resources/app.asar/src/package.js:715:27)
    at Package.module.exports.Package.activateNow (/Applications/Atom.app/Contents/Resources/app.asar/src/package.js:173:16)
    at /Applications/Atom.app/Contents/Resources/app.asar/src/package.js:156:32
    at Package.module.exports.Package.measure (/Applications/Atom.app/Contents/Resources/app.asar/src/package.js:92:15)
    at /Applications/Atom.app/Contents/Resources/app.asar/src/package.js:149:26
    at Package.module.exports.Package.activate (/Applications/Atom.app/Contents/Resources/app.asar/src/package.js:146:34)
    at PackageManager.module.exports.PackageManager.activatePackage (/Applications/Atom.app/Contents/Resources/app.asar/src/package-manager.js:538:21)
    at /Applications/Atom.app/Contents/Resources/app.asar/src/package-manager.js:519:29
    at Config.module.exports.Config.transactAsync (/Applications/Atom.app/Contents/Resources/app.asar/src/config.js:337:18)
    at PackageManager.module.exports.PackageManager.activatePackages (/Applications/Atom.app/Contents/Resources/app.asar/src/package-manager.js:514:19)
    at PackageManager.module.exports.PackageManager.activate (/Applications/Atom.app/Contents/Resources/app.asar/src/package-manager.js:497:46)

Commands

Config

{
  "core": {
    "disabledPackages": [
      "open-vim"
    ],
    "themes": [
      "seti-ui",
      "earthsung-by-jackson-syntax"
    ]
  }
}

Installed Packages

# User
activate-power-mode, v0.7.4 (inactive)
advanced-open-file, v0.16.3 (inactive)
api-docs, v0.0.6 (inactive)
atom-beautify, v0.29.10 (inactive)
atom-handlebars, v1.3.0 (inactive)
atom-monokai, v0.10.4 (inactive)
blame, v0.10.0 (inactive)
blocky, v0.8.0 (inactive)
chester-atom-syntax, v0.1.1 (inactive)
earthsung-by-jackson-syntax, v0.3.0 (inactive)
elm-format, v2.0.1 (inactive)
elm-fu, v0.1.0 (inactive)
elmjutsu, v1.1.0 (inactive)
expand-selection-to-quotes, v0.9.0 (inactive)
goto, v1.7.1 (inactive)
highlight-nbsp, v0.1.1 (inactive)
highlight-selected, v0.11.2 (inactive)
hyperclick, v0.0.37 (inactive)
improved-chester-atom-syntax, v0.2.0 (inactive)
js-hyperclick, v1.4.2 (inactive)
language-elm, v1.5.0 (inactive)
language-emblem, v0.2.0 (inactive)
linter, v1.11.16 (inactive)
linter-coffeelint, v1.1.2 (inactive)
linter-eslint, v7.2.4 (inactive)
minimap, v4.24.7 (inactive)
monokai-seti, v0.7.0 (inactive)
natural-autoflow, v0.2.3 (inactive)
rails-i18n-autocomplete, v0.4.0 (inactive)
ruby-slim, v0.2.0 (inactive)
seti-syntax, v1.0.1 (inactive)
seti-ui, v1.3.2 (inactive)
standardjs-snippets, v2.4.0 (inactive)
Sublime-Style-Column-Selection, v1.7.2 (inactive)
todo-show, v1.7.0 (inactive)
atom-dark-syntax, v0.27.0 (inactive)
atom-dark-ui, v0.51.0 (inactive)
atom-light-syntax, v0.28.0 (inactive)
atom-light-ui, v0.43.0 (inactive)
base16-tomorrow-dark-theme, v1.1.0 (inactive)
base16-tomorrow-light-theme, v1.1.1 (inactive)
one-dark-ui, v1.3.2 (inactive)
one-light-ui, v1.3.2 (inactive)
one-dark-syntax, v1.2.0 (inactive)
one-light-syntax, v1.2.0 (inactive)
solarized-dark-syntax, v1.0.2 (inactive)
solarized-light-syntax, v1.0.2 (inactive)
about, v1.5.2 (inactive)
archive-view, v0.61.1 (inactive)
autocomplete-atom-api, v0.10.0 (inactive)
autocomplete-css, v0.11.1 (inactive)
autocomplete-html, v0.7.2 (inactive)
autocomplete-plus, v2.31.0 (inactive)
autocomplete-snippets, v1.11.0 (inactive)
autoflow, v0.27.0 (inactive)
autosave, v0.23.1 (inactive)
background-tips, v0.26.0 (inactive)
bookmarks, v0.41.0 (inactive)
bracket-matcher, v0.82.1 (inactive)
command-palette, v0.38.0 (inactive)
deprecation-cop, v0.54.1 (inactive)
dev-live-reload, v0.47.0 (inactive)
encoding-selector, v0.22.0 (inactive)
exception-reporting, v0.39.0 (inactive)
fuzzy-finder, v1.3.0 (inactive)
git-diff, v1.1.0 (inactive)
find-and-replace, v0.198.0 (inactive)
go-to-line, v0.31.0 (inactive)
grammar-selector, v0.48.1 (inactive)
image-view, v0.58.0 (inactive)
incompatible-packages, v0.26.1 (inactive)
keybinding-resolver, v0.35.0 (inactive)
line-ending-selector, v0.5.0 (inactive)
link, v0.31.1 (inactive)
markdown-preview, v0.158.1 (inactive)
metrics, v0.53.1 (inactive)
notifications, v0.64.1 (inactive)
open-on-github, v1.2.0 (inactive)
package-generator, v1.0.0 (inactive)
settings-view, v0.238.2 (inactive)
snippets, v1.0.2 (inactive)
spell-check, v0.67.1 (inactive)
status-bar, v1.4.1 (inactive)
styleguide, v0.47.1 (inactive)
symbols-view, v0.113.0 (inactive)
tabs, v0.98.1 (inactive)
timecop, v0.33.1 (inactive)
tree-view, v0.208.0 (inactive)
update-package-dependencies, v0.10.0 (inactive)
welcome, v0.34.0 (inactive)
whitespace, v0.32.2 (inactive)
wrap-guide, v0.38.1 (inactive)
language-c, v0.52.1 (inactive)
language-clojure, v0.21.0 (inactive)
language-coffee-script, v0.47.0 (inactive)
language-csharp, v0.12.1 (inactive)
language-css, v0.36.2 (inactive)
language-gfm, v0.86.0 (inactive)
language-git, v0.13.0 (inactive)
language-go, v0.42.0 (inactive)
language-html, v0.44.1 (inactive)
language-hyperlink, v0.16.0 (inactive)
language-java, v0.22.0 (inactive)
language-javascript, v0.119.0 (inactive)
language-json, v0.18.0 (inactive)
language-less, v0.29.3 (inactive)
language-make, v0.22.2 (inactive)
language-mustache, v0.13.0 (inactive)
language-objective-c, v0.15.1 (inactive)
language-perl, v0.35.0 (inactive)
language-php, v0.37.0 (inactive)
language-property-list, v0.8.0 (inactive)
language-python, v0.45.0 (inactive)
language-ruby, v0.68.5 (inactive)
language-ruby-on-rails, v0.25.0 (inactive)
language-sass, v0.52.0 (inactive)
language-shellscript, v0.22.3 (inactive)
language-source, v0.9.0 (inactive)
language-sql, v0.21.1 (inactive)
language-text, v0.7.1 (inactive)
language-todo, v0.28.0 (inactive)
language-toml, v0.18.0 (inactive)
language-xml, v0.34.8 (inactive)
language-yaml, v0.26.0 (inactive)

# Dev
No dev packages

Go to definition freezing atom

I've just tried "Go to definition" on a custom function and Atom just sits there unusable with my CPU at 100%. After asking me 2 times to Wait or Close, I had to hit close in order to continue my work.

I am using Atom 1.10.2 on OSX El Capitan

Show constructor type in sidekick?

Given a type like:

module MyModule exposing (..)
type Foo = Bar Int

The sidekick shows

MyModule.Bar : Foo

but I think it should show

MyModule.Bar : Int -> Foo

Is this something that can be fixed within elmjutsu?

Need for a test folder

I need to create a test folder to use elmjutsu

ENOENT: no such file or directory, scandir '/home/nils/Programmering/ahead/ahead_web/web/static/elm/test'

Here is the whole stacktrace

[Enter steps to reproduce below:]

1. ...
2. ...

**Atom Version**: 1.10.2
**Electron Version**: 0.37.8
**System**: Ubuntu 16.04
**Thrown From**: [elmjutsu](https://github.com/halohalospecial/atom-elmjutsu) package, v2.5.5


### Stack Trace

Failed to activate the elmjutsu package

At ENOENT: no such file or directory, scandir '/home/nils/Programmering/ahead/ahead_web/web/static/elm/test'

Error: ENOENT: no such file or directory, scandir '/home/nils/Programmering/ahead/ahead_web/web/static/elm/test'
at Error (native)
at Object.fs.readdirSync (fs.js:856:18)
at Object.fs.readdirSync (ELECTRON_ASAR.js:496:28)
at Object.parseDirectoryFiles (/home/nils/.atom/packages/elmjutsu/lib/indexing.js:76:26)
at /home/nils/.atom/packages/elmjutsu/lib/core.js:203:16
at Array.forEach (native)
at Core.watchProject (/home/nils/.atom/packages/elmjutsu/lib/core.js:202:23)
at /home/nils/.atom/packages/elmjutsu/lib/core.js:89:14
at Set.forEach (native)
at TextEditorRegistry.module.exports.TextEditorRegistry.observe (/usr/share/atom/resources/app.asar/src/text-editor-registry.js:31:20)
at new Core (/home/nils/.atom/packages/elmjutsu/lib/core.js:87:45)
at Object.activate (/home/nils/.atom/packages/elmjutsu/lib/main.js:16:17)
at Package.module.exports.Package.activateNow (/usr/share/atom/resources/app.asar/src/package.js:183:20)
at /usr/share/atom/resources/app.asar/src/package.js:156:32
at Package.module.exports.Package.measure (/usr/share/atom/resources/app.asar/src/package.js:92:15)
at /usr/share/atom/resources/app.asar/src/package.js:149:26
at Package.module.exports.Package.activate (/usr/share/atom/resources/app.asar/src/package.js:146:34)
at PackageManager.module.exports.PackageManager.activatePackage (/usr/share/atom/resources/app.asar/src/package-manager.js:538:21)
at /usr/share/atom/resources/app.asar/src/package-manager.js:342:19
at /usr/share/atom/resources/app.asar/src/config.js:635:20
at Function.module.exports.Emitter.simpleDispatch (/usr/share/atom/resources/app.asar/node_modules/event-kit/lib/emitter.js:25:14)
at Emitter.module.exports.Emitter.emit (/usr/share/atom/resources/app.asar/node_modules/event-kit/lib/emitter.js:125:28)
at Config.module.exports.Config.emitChangeEvent (/usr/share/atom/resources/app.asar/src/config.js:827:29)
at Config.module.exports.Config.setRawValue (/usr/share/atom/resources/app.asar/src/config.js:612:19)
at Config.module.exports.Config.set (/usr/share/atom/resources/app.asar/src/config.js:227:14)
at Config.module.exports.Config.removeAtKeyPath (/usr/share/atom/resources/app.asar/src/config.js:377:12)
at Package.module.exports.Package.enable (/usr/share/atom/resources/app.asar/src/package.js:77:26)
at PackageManager.module.exports.PackageManager.enablePackage (/usr/share/atom/resources/app.asar/src/package-manager.js:169:14)
at HTMLButtonElement. (/usr/share/atom/resources/app.asar/node_modules/settings-view/lib/package-card.js:343:27)
at HTMLButtonElement.jQuery.event.dispatch (/usr/share/atom/resources/app.asar/node_modules/jquery/dist/jquery.js:4435:9)
at HTMLButtonElement.elemData.handle (/usr/share/atom/resources/app.asar/node_modules/jquery/dist/jquery.js:4121:28)


### Commands

 -0:02.8.0 settings-view:open (atom-text-editor.editor.vim-mode-plus.normal-mode.is-focused)

6x -0:02.6.0 blur (atom-text-editor.editor.vim-mode-plus.normal-mode.is-focused)


### Config

```json
{
  "core": {
    "disabledPackages": [
      "autocomplete-elixir"
    ]
  },
  "elmjutsu": {
    "autocompleteEnabled": true,
    "autocompleteSnippetsEnabled": true,
    "cacheDirectory": "/tmp/elmjutsu4734gioUFix1Pbdn",
    "hyperclickEnabled": true,
    "sidekickPosition": "right"
  }
}

Installed Packages

# User
.bin, vundefined (inactive)
advanced-open-file, v0.16.4 (inactive)
atom-alignment, v0.12.1 (active)
atom-beautify, v0.29.11 (inactive)
atom-keyboard-macros-vim, v0.1.5 (inactive)
atom-save-all, v0.4.1 (active)
autocomplete-elixir, v1.5.14 (inactive)
change-case, v0.6.3 (active)
elm-format, v2.1.0 (active)
elmjutsu, v2.5.5 (inactive)
emmet, v2.4.3 (active)
file-icons, v1.7.19 (active)
gist-it, v0.9.1 (active)
git-blame, v0.4.11 (inactive)
html-to-elm, v0.2.0 (inactive)
ide-haskell, v1.8.1 (inactive)
jumpy, v3.0.3 (inactive)
language-babel, v2.36.3 (active)
language-docker, v1.1.7 (active)
language-elixir, v0.16.0 (active)
language-elm, v1.5.0 (active)
language-erlang, v3.0.0 (active)
language-gradle, v0.0.3 (active)
linter, v1.11.16 (active)
linter-elixir-credo, v1.1.0 (active)
linter-elm-make, v0.17.3 (active)
linter-eslint, v7.2.4 (active)
linter-flow, v5.5.0 (active)
markdown-preview-plus, v2.4.0 (active)
multi-cursor, v2.1.3 (inactive)
necro-syntax, v1.0.0 (inactive)
pigments, v0.34.0 (active)
pretty-json, v1.6.0 (active)
Sublime-Style-Column-Selection, v1.7.2 (active)
toggle-quotes, v1.0.0 (inactive)
vim-mode-plus, v0.54.1 (active)
atom-dark-syntax, v0.27.0 (inactive)
atom-dark-ui, v0.52.0 (inactive)
atom-light-syntax, v0.28.0 (inactive)
atom-light-ui, v0.44.0 (inactive)
base16-tomorrow-dark-theme, v1.1.0 (inactive)
base16-tomorrow-light-theme, v1.1.1 (inactive)
one-dark-ui, v1.5.0 (active)
one-light-ui, v1.5.0 (inactive)
one-dark-syntax, v1.3.0 (active)
one-light-syntax, v1.3.0 (inactive)
solarized-dark-syntax, v1.0.2 (inactive)
solarized-light-syntax, v1.0.2 (inactive)
about, v1.5.3 (active)
archive-view, v0.61.1 (active)
autocomplete-atom-api, v0.10.0 (active)
autocomplete-css, v0.11.2 (active)
autocomplete-html, v0.7.2 (active)
autocomplete-plus, v2.31.1 (active)
autocomplete-snippets, v1.11.0 (active)
autoflow, v0.27.0 (inactive)
autosave, v0.23.1 (active)
background-tips, v0.26.1 (active)
bookmarks, v0.41.0 (active)
bracket-matcher, v0.82.1 (active)
command-palette, v0.38.0 (inactive)
deprecation-cop, v0.54.1 (active)
dev-live-reload, v0.47.0 (active)
encoding-selector, v0.22.0 (active)
exception-reporting, v0.39.0 (active)
find-and-replace, v0.201.0 (inactive)
fuzzy-finder, v1.3.0 (active)
git-diff, v1.1.0 (active)
go-to-line, v0.31.0 (inactive)
grammar-selector, v0.48.1 (active)
image-view, v0.58.2 (active)
incompatible-packages, v0.26.1 (active)
keybinding-resolver, v0.35.0 (active)
line-ending-selector, v0.5.0 (active)
link, v0.31.1 (inactive)
markdown-preview, v0.158.0 (active)
metrics, v0.53.1 (active)
notifications, v0.65.0 (active)
open-on-github, v1.2.0 (inactive)
package-generator, v1.0.0 (inactive)
settings-view, v0.242.2 (active)
snippets, v1.0.2 (active)
spell-check, v0.67.1 (active)
status-bar, v1.4.1 (active)
styleguide, v0.47.0 (active)
symbols-view, v0.113.0 (inactive)
tabs, v0.100.2 (active)
timecop, v0.33.2 (active)
tree-view, v0.208.2 (active)
update-package-dependencies, v0.10.0 (active)
welcome, v0.34.0 (active)
whitespace, v0.33.0 (active)
wrap-guide, v0.38.1 (active)
language-c, v0.52.1 (active)
language-clojure, v0.21.0 (active)
language-coffee-script, v0.47.2 (active)
language-csharp, v0.12.1 (active)
language-css, v0.37.1 (active)
language-gfm, v0.88.0 (active)
language-git, v0.15.0 (active)
language-go, v0.42.1 (active)
language-html, v0.45.1 (active)
language-hyperlink, v0.16.0 (active)
language-java, v0.23.0 (active)
language-javascript, v0.119.0 (active)
language-json, v0.18.2 (active)
language-less, v0.29.5 (active)
language-make, v0.22.2 (active)
language-mustache, v0.13.0 (active)
language-objective-c, v0.15.1 (active)
language-perl, v0.35.0 (active)
language-php, v0.37.2 (active)
language-property-list, v0.8.0 (active)
language-python, v0.45.0 (active)
language-ruby, v0.69.0 (active)
language-ruby-on-rails, v0.25.0 (active)
language-sass, v0.56.0 (active)
language-shellscript, v0.22.4 (active)
language-source, v0.9.0 (active)
language-sql, v0.23.0 (active)
language-text, v0.7.1 (active)
language-todo, v0.28.0 (active)
language-toml, v0.18.0 (active)
language-xml, v0.34.9 (active)
language-yaml, v0.26.0 (active)

# Dev
No dev packages

Rename symbol issue

I've got this line

List.concatMap (\res -> dayList (daysDiff res.checkOut res.checkIn) res.checkIn) reservations

When I try to rename daysDiff across my project, I end up with this:

List.concatMap (es -> dayList (daysDiff res.checkOut res.checkIn) res.checkIn) reservations

Notice the removal of \r

Function.extractParams is deprecated.

Assigning custom properties to a marker when creating/copying it is
deprecated. Please, consider storing the custom properties you need in
some other object in your package, keyed by the marker's id property.

Function.extractParams (/usr/share/atom/resources/app.asar/node_modules/text-buffer/lib/marker.js:43:14)
MarkerLayer.markRange (/usr/share/atom/resources/app.asar/node_modules/text-buffer/lib/marker-layer.js:196:71)
DisplayMarkerLayer.markBufferRange (/usr/share/atom/resources/app.asar/node_modules/text-buffer/lib/display-marker-layer.js:90:62)
TextEditor.markBufferRange (/usr/share/atom/resources/app.asar/src/text-editor.js:1753:38)
<unknown> (/home/user/elmjutsu/lib/symbol-finder.js:125:40)
process._tickCallback (internal/process/next_tick.js:103:7)

Feature Request: Function is exposed indicator

Some type of indicator on the function that is exposed at the top of the module would be useful. This is in reference to https://groups.google.com/forum/#!topic/elm-discuss/N_Pd1XsgtwU where they are discussing visibility of the exposed list. Keeping it at the top is sensible to see them all in one place, but it is also nice to see it at the function declaration too, so some indicator that it is so would be nice (Like color-coding it differently I'd say).

Arguments to CompositeDisposable.add must have a .dispose() method

I just upgraded Atom to the latest version (1.11.0 on OS X El Capitan) and now elmjutsu cannot be activated. I get the following error message:

Arguments to CompositeDisposable.add must have a .dispose() method

This seems to be caused by this pull request that was merged into atom/event-kit a few days ago, which causes code in atom-elmjutsu/lib/symbol-finder.js to trigger a TypeError.

Error when trying to activate related to broken symlinks?

I've been using this plugin with no problems for a while. Suddenly it stopped working. I can't think of anything that I did that would have caused the problem, and I've tried completely uninstalling the plugin and atom and reinstalling again multiple times with different versions, but I get the same error.

The problem seems to be that for some reason trying to initialize the plugin seems to scan my whole user directory (on OS X El Capitan) and chokes when it hits a symlink that doesn't go anywhere. I've deleted about a thousand of these files, and then I got the error in #22, but the solutions there haven't helped me, and now I'm running into broken symlinks again (like /Users/jeffs/Library/Containers/com.apple.iCal.CalendarNC/Data/Library/Preferences/ByHost/com.apple.iCal.63587F6C-C9FC-5267-8100-FE00F1402816.plist)

I've tried so many things. Have you seen this before? It seems to only be a problem with elmjutsu.

Failed to load the elmjutsu package

[Enter steps to reproduce below:]

  1. Install elmjutsu package

Atom Version: 1.12.9
Electron Version: 1.3.13
System: Ubuntu 14.04.5
Thrown From: elmjutsu package, v2.15.3

Stack Trace

Failed to load the elmjutsu package

At Cannot find module 'underscore'

Error: Cannot find module 'underscore'
    at Module._resolveFilename (module.js:455:15)
    at Module._resolveFilename (/usr/share/atom/resources/electron.asar/common/reset-search-paths.js:35:12)
    at Function.Module._resolveFilename (/usr/share/atom/resources/app.asar/src/module-cache.js:383:52)
    at Function.Module._load (module.js:403:25)
    at Module.require (module.js:483:17)
    at require (/usr/share/atom/resources/app.asar/src/native-compile-cache.js:50:27)
    at Object.<anonymous> (/home/brian/.atom/packages/elmjutsu/lib/package-manager.js:5:26)
    at Module._compile (/usr/share/atom/resources/app.asar/src/native-compile-cache.js:103:30)
    at Object.value [as .js] (/usr/share/atom/resources/app.asar/src/compile-cache.js:201:21)
    at Module.load (module.js:473:32)
    at tryModuleLoad (module.js:432:12)
    at Function.Module._load (module.js:424:3)
    at Module.require (module.js:483:17)
    at require (/usr/share/atom/resources/app.asar/src/native-compile-cache.js:50:27)
    at Object.<anonymous> (/home/brian/.atom/packages/elmjutsu/lib/main.js:6:26)
    at Module._compile (/usr/share/atom/resources/app.asar/src/native-compile-cache.js:103:30)
    at Object.value [as .js] (/usr/share/atom/resources/app.asar/src/compile-cache.js:201:21)
    at Module.load (module.js:473:32)
    at tryModuleLoad (module.js:432:12)
    at Function.Module._load (module.js:424:3)
    at Module.require (module.js:483:17)
    at require (/usr/share/atom/resources/app.asar/src/native-compile-cache.js:50:27)
    at Package.module.exports.Package.requireMainModule (/usr/share/atom/resources/app.asar/src/package.js:747:27)
    at /usr/share/atom/resources/app.asar/src/package.js:118:28
    at Package.module.exports.Package.measure (/usr/share/atom/resources/app.asar/src/package.js:92:15)
    at Package.module.exports.Package.load (/usr/share/atom/resources/app.asar/src/package.js:106:12)
    at PackageManager.module.exports.PackageManager.loadPackage (/usr/share/atom/resources/app.asar/src/package-manager.js:468:14)
    at /usr/share/atom/resources/app.asar/src/package-manager.js:412:19
    at Config.module.exports.Config.transact (/usr/share/atom/resources/app.asar/src/config.js:312:16)
    at PackageManager.module.exports.PackageManager.loadPackages (/usr/share/atom/resources/app.asar/src/package-manager.js:407:19)

Commands

Config

{
  "core": {
    "disabledPackages": [
      "language-javascript-jsx"
    ]
  }
}

Installed Packages

# User
css-to-inline, v1.1.0 (inactive)
elmjutsu, v2.15.3 (inactive)
language-apache, v1.6.0 (inactive)
language-babel, v2.43.0 (inactive)
language-elm, v1.5.0 (inactive)
language-matlab, v0.2.1 (inactive)
linter, v1.11.18 (inactive)
linter-eslint, v7.3.2 (inactive)
python-debugger, v0.1.0 (inactive)
python-indent, v1.0.0 (inactive)
python-tools, v0.6.8 (inactive)
atom-dark-syntax, v0.27.0 (inactive)
atom-dark-ui, v0.52.0 (inactive)
atom-light-syntax, v0.28.0 (inactive)
atom-light-ui, v0.45.0 (inactive)
base16-tomorrow-dark-theme, v1.3.0 (inactive)
base16-tomorrow-light-theme, v1.3.0 (inactive)
one-dark-ui, v1.6.2 (inactive)
one-light-ui, v1.6.2 (inactive)
one-dark-syntax, v1.5.0 (inactive)
one-light-syntax, v1.5.0 (inactive)
solarized-dark-syntax, v1.0.5 (inactive)
solarized-light-syntax, v1.0.5 (inactive)
about, v1.7.0 (inactive)
archive-view, v0.62.0 (inactive)
autocomplete-atom-api, v0.10.0 (inactive)
autocomplete-css, v0.13.1 (inactive)
autocomplete-html, v0.7.2 (inactive)
autocomplete-plus, v2.31.4 (inactive)
autocomplete-snippets, v1.11.0 (inactive)
autoflow, v0.27.0 (inactive)
autosave, v0.23.1 (inactive)
background-tips, v0.26.1 (inactive)
bookmarks, v0.42.0 (inactive)
bracket-matcher, v0.82.2 (inactive)
command-palette, v0.39.0 (inactive)
deprecation-cop, v0.54.1 (inactive)
dev-live-reload, v0.47.0 (inactive)
encoding-selector, v0.22.0 (inactive)
exception-reporting, v0.40.0 (inactive)
find-and-replace, v0.202.2 (inactive)
fuzzy-finder, v1.4.0 (inactive)
git-diff, v1.1.0 (inactive)
go-to-line, v0.31.0 (inactive)
grammar-selector, v0.48.2 (inactive)
image-view, v0.60.0 (inactive)
incompatible-packages, v0.26.1 (inactive)
keybinding-resolver, v0.35.0 (inactive)
line-ending-selector, v0.5.0 (inactive)
link, v0.31.2 (inactive)
markdown-preview, v0.158.8 (inactive)
metrics, v1.1.2 (inactive)
notifications, v0.65.1 (inactive)
open-on-github, v1.2.1 (inactive)
package-generator, v1.0.1 (inactive)
settings-view, v0.243.1 (inactive)
snippets, v1.0.4 (inactive)
spell-check, v0.68.4 (inactive)
status-bar, v1.4.1 (inactive)
styleguide, v0.47.2 (inactive)
symbols-view, v0.113.1 (inactive)
tabs, v0.103.0 (inactive)
timecop, v0.33.2 (inactive)
tree-view, v0.210.0 (inactive)
update-package-dependencies, v0.10.0 (inactive)
welcome, v0.35.1 (inactive)
whitespace, v0.35.0 (inactive)
wrap-guide, v0.38.2 (inactive)
language-c, v0.54.0 (inactive)
language-clojure, v0.22.1 (inactive)
language-coffee-script, v0.48.0 (inactive)
language-csharp, v0.13.0 (inactive)
language-css, v0.40.1 (inactive)
language-gfm, v0.88.0 (inactive)
language-git, v0.15.0 (inactive)
language-go, v0.43.0 (inactive)
language-html, v0.47.1 (inactive)
language-hyperlink, v0.16.1 (inactive)
language-java, v0.24.0 (inactive)
language-javascript, v0.122.0 (inactive)
language-json, v0.18.3 (inactive)
language-less, v0.29.6 (inactive)
language-make, v0.22.2 (inactive)
language-mustache, v0.13.0 (inactive)
language-objective-c, v0.15.1 (inactive)
language-perl, v0.37.0 (inactive)
language-php, v0.37.3 (inactive)
language-property-list, v0.8.0 (inactive)
language-python, v0.45.1 (inactive)
language-ruby, v0.70.2 (inactive)
language-ruby-on-rails, v0.25.1 (inactive)
language-sass, v0.57.0 (inactive)
language-shellscript, v0.23.0 (inactive)
language-source, v0.9.0 (inactive)
language-sql, v0.25.0 (inactive)
language-text, v0.7.1 (inactive)
language-todo, v0.29.1 (inactive)
language-toml, v0.18.1 (inactive)
language-xml, v0.34.12 (inactive)
language-yaml, v0.27.1 (inactive)

# Dev
No dev packages

Other imports are changed inappropriate after 'add import'

Suppose you have one type Vehicle with a value constructor Car in the module Vehicle, and a type alias Car (for a record) in the module Car. When using both Vehicle and Car in a third module and adding an import to that third module using Elmjutsu, the import for the Car module is changed inappropriate into a compilation error.

I've created a repository to simulate this bug.

It seems that Elmjutsu infers the type alias as the value constructor and changes

import Car exposing (Car)

into

import Car exposing (Vehicle(Car))

Failed to activate the elmjutsu package

Atom Version: 1.11.0
Electron Version: 0.37.8
System: Mac OS X 10.11.6
Thrown From: elmjutsu package, v2.8.2

Stack Trace

Failed to activate the elmjutsu package

At Arguments to CompositeDisposable.add must have a .dispose() method

TypeError: Arguments to CompositeDisposable.add must have a .dispose() method
    at assertDisposable (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/event-kit/lib/composite-disposable.js:70:13)
    at CompositeDisposable.module.exports.CompositeDisposable.add (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/event-kit/lib/composite-disposable.js:43:11)
    at GoToSymbol.SymbolFinder (/Users/thsoft/.atom/packages/elmjutsu/lib/symbol-finder.js:12:24)
    at new GoToSymbol (/Users/thsoft/.atom/packages/elmjutsu/lib/go-to-symbol.js:7:32)
    at Object.activate (/Users/thsoft/.atom/packages/elmjutsu/lib/main.js:18:23)
    at Package.module.exports.Package.activateNow (/Applications/Atom.app/Contents/Resources/app.asar/src/package.js:183:20)
    at /Applications/Atom.app/Contents/Resources/app.asar/src/package.js:156:32
    at Package.module.exports.Package.measure (/Applications/Atom.app/Contents/Resources/app.asar/src/package.js:92:15)
    at /Applications/Atom.app/Contents/Resources/app.asar/src/package.js:149:26
    at Package.module.exports.Package.activate (/Applications/Atom.app/Contents/Resources/app.asar/src/package.js:146:34)
    at PackageManager.module.exports.PackageManager.activatePackage (/Applications/Atom.app/Contents/Resources/app.asar/src/package-manager.js:538:21)
    at /Applications/Atom.app/Contents/Resources/app.asar/src/package-manager.js:519:29
    at Config.module.exports.Config.transactAsync (/Applications/Atom.app/Contents/Resources/app.asar/src/config.js:337:18)
    at PackageManager.module.exports.PackageManager.activatePackages (/Applications/Atom.app/Contents/Resources/app.asar/src/package-manager.js:514:19)
    at PackageManager.module.exports.PackageManager.activate (/Applications/Atom.app/Contents/Resources/app.asar/src/package-manager.js:497:46)
    at /Applications/Atom.app/Contents/Resources/app.asar/src/atom-environment.js:779:28

Commands

     -0:01.4.0 blur (atom-text-editor.editor.is-focused)

Config

{
  "core": {
    "themes": [
      "one-light-ui",
      "one-light-syntax"
    ]
  },
  "elmjutsu": {
    "autocompleteEnabled": true,
    "cacheDirectory": "/var/folders/d7/qt541tgd3vzfk32m544ks8mw0000gn/T/elmjutsu26431TIvPwnDDSLTO",
    "hyperclickEnabled": true,
    "showSidekick": true
  }
}

Installed Packages

# User
compare-files, v0.8.0 (inactive)
eclipse-keybindings, v0.9.0 (inactive)
elm-format, v2.1.0 (inactive)
elmjutsu, v2.8.2 (inactive)
hyperclick, v0.0.39 (inactive)
language-elm, v1.5.0 (inactive)
latex, v0.37.1 (inactive)
linter, v1.11.18 (inactive)
linter-elm-make, v0.17.7 (inactive)
linter-jshint, v3.0.0 (inactive)
local-history, v3.4.1 (inactive)
merge-conflicts, v1.4.4 (inactive)
open-terminal-here, v2.1.4 (inactive)
pigments, v0.37.0 (inactive)
sort-lines, v0.14.0 (inactive)
atom-dark-syntax, v0.27.0 (inactive)
atom-dark-ui, v0.52.0 (inactive)
atom-light-syntax, v0.28.0 (inactive)
atom-light-ui, v0.44.0 (inactive)
base16-tomorrow-dark-theme, v1.2.0 (inactive)
base16-tomorrow-light-theme, v1.2.0 (inactive)
one-dark-ui, v1.6.0 (inactive)
one-light-ui, v1.6.0 (inactive)
one-dark-syntax, v1.3.0 (inactive)
one-light-syntax, v1.3.0 (inactive)
solarized-dark-syntax, v1.0.2 (inactive)
solarized-light-syntax, v1.0.2 (inactive)
about, v1.7.0 (inactive)
archive-view, v0.61.1 (inactive)
autocomplete-atom-api, v0.10.0 (inactive)
autocomplete-css, v0.11.2 (inactive)
autocomplete-html, v0.7.2 (inactive)
autocomplete-plus, v2.31.1 (inactive)
autocomplete-snippets, v1.11.0 (inactive)
autoflow, v0.27.0 (inactive)
autosave, v0.23.1 (inactive)
background-tips, v0.26.1 (inactive)
bookmarks, v0.42.0 (inactive)
bracket-matcher, v0.82.1 (inactive)
command-palette, v0.38.0 (inactive)
deprecation-cop, v0.54.1 (inactive)
dev-live-reload, v0.47.0 (inactive)
encoding-selector, v0.22.0 (inactive)
exception-reporting, v0.40.0 (inactive)
find-and-replace, v0.201.1 (inactive)
fuzzy-finder, v1.4.0 (inactive)
git-diff, v1.1.0 (inactive)
go-to-line, v0.31.0 (inactive)
grammar-selector, v0.48.2 (inactive)
image-view, v0.59.0 (inactive)
incompatible-packages, v0.26.1 (inactive)
keybinding-resolver, v0.35.0 (inactive)
line-ending-selector, v0.5.0 (inactive)
link, v0.31.1 (inactive)
markdown-preview, v0.158.0 (inactive)
metrics, v1.0.0 (inactive)
notifications, v0.65.1 (inactive)
open-on-github, v1.2.0 (inactive)
package-generator, v1.0.0 (inactive)
settings-view, v0.242.2 (inactive)
snippets, v1.0.2 (inactive)
spell-check, v0.68.2 (inactive)
status-bar, v1.4.1 (inactive)
styleguide, v0.47.0 (inactive)
symbols-view, v0.113.1 (inactive)
tabs, v0.101.0 (inactive)
timecop, v0.33.2 (inactive)
tree-view, v0.209.3 (inactive)
update-package-dependencies, v0.10.0 (inactive)
welcome, v0.35.1 (inactive)
whitespace, v0.33.0 (inactive)
wrap-guide, v0.38.2 (inactive)
language-c, v0.52.1 (inactive)
language-clojure, v0.21.0 (inactive)
language-coffee-script, v0.47.2 (inactive)
language-csharp, v0.12.1 (inactive)
language-css, v0.37.1 (inactive)
language-gfm, v0.88.0 (inactive)
language-git, v0.15.0 (inactive)
language-go, v0.42.1 (inactive)
language-html, v0.45.1 (inactive)
language-hyperlink, v0.16.0 (inactive)
language-java, v0.23.0 (inactive)
language-javascript, v0.119.0 (inactive)
language-json, v0.18.2 (inactive)
language-less, v0.29.5 (inactive)
language-make, v0.22.2 (inactive)
language-mustache, v0.13.0 (inactive)
language-objective-c, v0.15.1 (inactive)
language-perl, v0.35.0 (inactive)
language-php, v0.37.2 (inactive)
language-property-list, v0.8.0 (inactive)
language-python, v0.45.0 (inactive)
language-ruby, v0.69.0 (inactive)
language-ruby-on-rails, v0.25.0 (inactive)
language-sass, v0.56.0 (inactive)
language-shellscript, v0.22.4 (inactive)
language-source, v0.9.0 (inactive)
language-sql, v0.23.0 (inactive)
language-text, v0.7.1 (inactive)
language-todo, v0.28.0 (inactive)
language-toml, v0.18.0 (inactive)
language-xml, v0.34.9 (inactive)
language-yaml, v0.26.0 (inactive)

# Dev
No dev packages

Feature request: Add to exposed functions

Useful when you are writing a module and exposing a few functions. Would be great to be able to add a function to the list without going to the top and re-tying it etc

end of line comments get moved to the next line

I tend to use end-of-line comments. Elmjutsu does not. It moves them to the next line for me.
Can I tweak that behaviour? How or where?

What I want

    [ { name = "Mina", isComplete = False, id = 1 }
    , { name = "Joe", isComplete = True, id = 2 }   -- the test record
    ]

What Elmjutsu gives me

    [ { name = "Mina", isComplete = False, id = 1 }
    , { name = "Joe", isComplete = True, id = 2 }
      -- the test record
    ]

Usability: Default auto-complete length

Default auto-complete length needs to be 2 or higher, not 1. Functions involve typing =, then generally hitting , which unfortunately replaced the = with == due to autocomplete. Perhaps that alone could be fixed to not happen, but for a short-term fix setting the default to 2 will prevent people from going crazy until they figure out to fix it. :-)

Rename undo

It would be nice to be able to undo the last rename. This tends to be annoying if done across files since you have to either rename your rename or go to each of the affected files and hit undo.

Feature suggestions:

  1. Do it all in one swoop by hitting Cmd-z/Ctrl-z
  2. Leave the rename panel open and provide an Undo button.

Hints in inline tooltip

Some might want to have the type hints / docs (Sidekick) in an inline tooltip (like in linter-elm-make) rather than in a side panel.

PR welcome :-)

P.S. Wanted to call it "Flying Kick", but nah.

Uncaught RangeError: Maximum call stack size exceeded

Hey there. I always get this error when opening a specific file. This really stops me from using this awesome plugin :-(

[Enter steps to reproduce below:]

  1. clone [email protected]:rommsen/elm-bookkeeping.git
  2. open https://github.com/rommsen/elm-bookkeeping/blob/master/src/elm/Members/View.elm in atom

Atom Version: 1.12.7
Electron Version: 1.3.13
System: Linux Mint
Thrown From: elmjutsu package, v2.11.1

Stack Trace

Uncaught RangeError: Maximum call stack size exceeded

At /home/roman/.atom/packages/elmjutsu/elm/indexer.js:5079

RangeError: Maximum call stack size exceeded
    at up (/home/roman/.atom/packages/elmjutsu/elm/indexer.js:5079:16)
    at Function.func (/home/roman/.atom/packages/elmjutsu/elm/indexer.js:5166:14)
    at A3 (/home/roman/.atom/packages/elmjutsu/elm/indexer.js:98:11)
    at Function.func (/home/roman/.atom/packages/elmjutsu/elm/indexer.js:5181:10)
    at A3 (/home/roman/.atom/packages/elmjutsu/elm/indexer.js:98:11)
    at Function.func (/home/roman/.atom/packages/elmjutsu/elm/indexer.js:6947:14)
    at A5 (/home/roman/.atom/packages/elmjutsu/elm/indexer.js:110:11)
    at _user$project$Indexer$getRecordTipeParts (/home/roman/.atom/packages/elmjutsu/elm/indexer.js:7022:10)
    at /home/roman/.atom/packages/elmjutsu/elm/indexer.js:7663:9
    at Function.func (/home/roman/.atom/packages/elmjutsu/elm/indexer.js:7696:5)
    at A4 (/home/roman/.atom/packages/elmjutsu/elm/indexer.js:104:11)
    at /home/roman/.atom/packages/elmjutsu/elm/indexer.js:7691:70
    at Function.func (/home/roman/.atom/packages/elmjutsu/elm/indexer.js:7696:5)
    at A4 (/home/roman/.atom/packages/elmjutsu/elm/indexer.js:104:11)
    at /home/roman/.atom/packages/elmjutsu/elm/indexer.js:7691:70
    at Function.func (/home/roman/.atom/packages/elmjutsu/elm/indexer.js:7696:5)
    at A4 (/home/roman/.atom/packages/elmjutsu/elm/indexer.js:104:11)
    at /home/roman/.atom/packages/elmjutsu/elm/indexer.js:7652:16
    at Function.func (/home/roman/.atom/packages/elmjutsu/elm/indexer.js:2239:11)
    at A2 (/home/roman/.atom/packages/elmjutsu/elm/indexer.js:92:11)
    at Function.foldr [as func] (/home/roman/.atom/packages/elmjutsu/elm/indexer.js:1972:9)
    at A3 (/home/roman/.atom/packages/elmjutsu/elm/indexer.js:98:11)
    at Function.func (/home/roman/.atom/packages/elmjutsu/elm/indexer.js:2233:10)
    at A2 (/home/roman/.atom/packages/elmjutsu/elm/indexer.js:92:11)
    at Function.func (/home/roman/.atom/packages/elmjutsu/elm/indexer.js:2337:4)
    at A2 (/home/roman/.atom/packages/elmjutsu/elm/indexer.js:92:11)
    at /home/roman/.atom/packages/elmjutsu/elm/indexer.js:7648:14
    at Function.func (/home/roman/.atom/packages/elmjutsu/elm/indexer.js:7696:5)
    at A4 (/home/roman/.atom/packages/elmjutsu/elm/indexer.js:104:11)
    at /home/roman/.atom/packages/elmjutsu/elm/indexer.js:7691:70

Commands

 17x -3:05.9.0 blur (div.settings-view.pane-item)

Config

{
  "core": {
    "telemetryConsent": "no"
  },
  "elmjutsu": {
    "autocompleteEnabled": true,
    "autocompleteSnippetsEnabled": true,
    "cacheDirectory": "/tmp/elmjutsu156701HxK7CsBdcC",
    "hyperclickEnabled": true,
    "showSidekick": true
  }
}

Installed Packages

# User
elm-format, v2.1.0 (active)
elmjutsu, v2.11.1 (active)
html-to-elm, v0.2.0 (inactive)
hyperclick, v0.0.39 (active)
intellij-idea-keymap, v0.2.3 (active)
language-elm, v1.5.0 (active)
linter, v1.11.18 (active)
linter-elm-make, v0.18.1 (active)
open-recent, v5.0.0 (active)
react, v0.16.1 (active)
atom-dark-syntax, v0.27.0 (inactive)
atom-dark-ui, v0.52.0 (inactive)
atom-light-syntax, v0.28.0 (inactive)
atom-light-ui, v0.45.0 (inactive)
base16-tomorrow-dark-theme, v1.3.0 (inactive)
base16-tomorrow-light-theme, v1.3.0 (inactive)
one-dark-ui, v1.6.2 (active)
one-light-ui, v1.6.2 (inactive)
one-dark-syntax, v1.5.0 (active)
one-light-syntax, v1.5.0 (inactive)
solarized-dark-syntax, v1.0.5 (inactive)
solarized-light-syntax, v1.0.5 (inactive)
about, v1.7.0 (active)
archive-view, v0.62.0 (active)
autocomplete-atom-api, v0.10.0 (active)
autocomplete-css, v0.13.1 (active)
autocomplete-html, v0.7.2 (active)
autocomplete-plus, v2.31.4 (active)
autocomplete-snippets, v1.11.0 (active)
autoflow, v0.27.0 (inactive)
autosave, v0.23.1 (active)
background-tips, v0.26.1 (active)
bookmarks, v0.42.0 (active)
bracket-matcher, v0.82.2 (active)
command-palette, v0.39.0 (inactive)
deprecation-cop, v0.54.1 (active)
dev-live-reload, v0.47.0 (active)
encoding-selector, v0.22.0 (active)
exception-reporting, v0.40.0 (active)
find-and-replace, v0.202.2 (inactive)
fuzzy-finder, v1.4.0 (active)
git-diff, v1.1.0 (active)
go-to-line, v0.31.0 (inactive)
grammar-selector, v0.48.2 (active)
image-view, v0.60.0 (active)
incompatible-packages, v0.26.1 (active)
keybinding-resolver, v0.35.0 (active)
line-ending-selector, v0.5.0 (active)
link, v0.31.2 (inactive)
markdown-preview, v0.158.8 (active)
metrics, v1.1.2 (active)
notifications, v0.65.1 (active)
open-on-github, v1.2.1 (inactive)
package-generator, v1.0.1 (inactive)
settings-view, v0.243.1 (active)
snippets, v1.0.4 (active)
spell-check, v0.68.4 (active)
status-bar, v1.4.1 (active)
styleguide, v0.47.2 (active)
symbols-view, v0.113.1 (inactive)
tabs, v0.103.0 (active)
timecop, v0.33.2 (active)
tree-view, v0.210.0 (active)
update-package-dependencies, v0.10.0 (active)
welcome, v0.35.1 (active)
whitespace, v0.35.0 (active)
wrap-guide, v0.38.2 (active)
language-c, v0.54.0 (active)
language-clojure, v0.22.1 (active)
language-coffee-script, v0.48.0 (active)
language-csharp, v0.13.0 (active)
language-css, v0.40.1 (active)
language-gfm, v0.88.0 (active)
language-git, v0.15.0 (active)
language-go, v0.43.0 (active)
language-html, v0.47.1 (active)
language-hyperlink, v0.16.1 (active)
language-java, v0.24.0 (active)
language-javascript, v0.122.0 (active)
language-json, v0.18.3 (active)
language-less, v0.29.6 (active)
language-make, v0.22.2 (active)
language-mustache, v0.13.0 (active)
language-objective-c, v0.15.1 (active)
language-perl, v0.37.0 (active)
language-php, v0.37.3 (active)
language-property-list, v0.8.0 (active)
language-python, v0.45.1 (active)
language-ruby, v0.70.2 (active)
language-ruby-on-rails, v0.25.1 (active)
language-sass, v0.57.0 (active)
language-shellscript, v0.23.0 (active)
language-source, v0.9.0 (active)
language-sql, v0.25.0 (active)
language-text, v0.7.1 (active)
language-todo, v0.29.1 (active)
language-toml, v0.18.1 (active)
language-xml, v0.34.12 (active)
language-yaml, v0.27.1 (active)

# Dev
No dev packages

Make Sidekick panel resizable

User should be able to drag the edge of the panel to resize it, similar to that of the linter's error panel.

PR welcome :-)

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.