GithubHelp home page GithubHelp logo

nwolverson / atom-ide-purescript Goto Github PK

View Code? Open in Web Editor NEW
115.0 115.0 17.0 1.59 MB

Atom package for PureScript build, completion, etc support

Home Page: https://atom.io/packages/ide-purescript

License: MIT License

CSS 1.48% PureScript 83.98% JavaScript 14.55%

atom-ide-purescript's People

Contributors

bamboo avatar dependabot[bot] avatar dgendill avatar dkoontz avatar dretch avatar garyb avatar ggreif avatar kritzcreek avatar nwolverson avatar paf31 avatar passy avatar readmecritic avatar sectore avatar stkb 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

atom-ide-purescript's Issues

Uncaught TypeError: Cannot read property 'resultType' of undefined

Happens directly after opening a Purescript project. I hope this is not just me having an outdated version of something, I've tried my best to update everything that could be relevant.

psc Version: 0.8.0.0
pulp Version: 8.0.0
psc-ide Version: 0.6.0
Atom Version: 1.4.2
System: Mac OS X 10.11.3
Thrown From: ide-purescript package, v0.8.1

Stack Trace

Uncaught TypeError: Cannot read property 'resultType' of undefined

At /Users/phartig/.atom/packages/ide-purescript/lib/psc-ide.coffee:31

TypeError: Cannot read property 'resultType' of undefined
    at exit (/Users/phartig/.atom/packages/ide-purescript/lib/psc-ide.coffee:31:22)
    at triggerExitCallback (/Applications/Atom.app/Contents/Resources/app.asar/src/buffered-process.js:213:47)
    at /Applications/Atom.app/Contents/Resources/app.asar/src/buffered-process.js:220:18
    at Socket.<anonymous> (/Applications/Atom.app/Contents/Resources/app.asar/src/buffered-process.js:98:18)
    at emitOne (events.js:82:20)
    at Socket.emit (events.js:169:7)
    at Pipe._onclose (net.js:469:12)

Config

{
  "core": {},
  "ide-purescript": {}
}

Installed Packages

# User
atom-typescript, v8.2.0
clipboard-plus, v0.5.1
haskell-pointfree, v0.1.3
hex, v0.6.2
hover-tooltips, v0.3.0
hover-tooltips-hdevtools, v0.10.0
ide-flow, v0.8.0
ide-haskell-cabal, v1.0.0
ide-purescript, v0.8.1
language-elm, v1.3.2
language-gradle, v0.0.3
language-groovy, v0.5.0
language-haskell, v1.5.2
language-purescript, v0.6.1
linter, v1.11.3
linter-elm-make, v0.4.0
linter-hlint, v0.4.2
linter-javac, v1.5.0
relative-numbers, v0.4.1
vim-mode, v0.64.0
vim-mode-clipboard-plus, v0.2.0
vim-mode-visual-block, v0.2.15
vim-surround, v0.8.1

# Dev
No dev packages

Failed to spawn command `pulp`

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

$ which pulp
/Users/kristianmandrup/npm/bin/pulp

What am I missing in my configuration?

Might be related to this issue? steelbrain/linter#150

ie.

This still occurs when launching from Terminal or Gui on Mac OS (Yosemite)

Uncaught BufferedProcessError: Failed to spawn command pep8. Make sure pep8 is installed and on your PATH 
Uncaught BufferedProcessError: Failed to spawn command pylint. Make sure pylint is installed and on your PATH

https://libraries.io/atom/ide-purescript

_This package relies on having psc-ide installed. Version 0.3.0.0 is supported (release). This runs a server process, psc-ide-server, to provide type information, completions, etc. This package will automatically start psc-ide-server in your project directory (port is configurable) and kill it when closing, if for some reason you want a longer running server process you should be able to start that before starting atom.

You must install the atom package language-purescript! You should optionally install atom packages Linter or Build if you want build support, see below._

I can confirm that I have installed language-purescript plugin as well. I'm not sure which optional Linter or Build you mean? I guess you mean the base Linter (with Cow powers)?
https://github.com/atom-community/linter

I have psc-ide and psc-ide-server installed and on my path. pulp was installed via npm and I can see it in ~/npm/bin

in my `~/.bash_profile

PATH=~/psc-ide:$PATH
PATH=~/purescript:$PATH
PATH=~/npm/bin:$PATH

I can run pulp just fine from the command line.

$ psc-ide-server
psc-ide-server: bind: resource busy (Address already in use)

$ psc-ide -h
Usage: psc-ide [-p|--port ARG]

I can see psc-ide-server running in my Activity Monitor (Mac OSX)

Uncaught ReferenceError: resolve is not defined

Hello,

I am on a windows 7 machine running the latest stable versions of atom, purescript, pulp and pci-ide as recommended in the readme. In my ide-purescript settings, I have "build on save" unchecked. Every time I click the save button, I receive this error: Uncaught ReferenceError: resolve is not defined. This happens every single time a file is saved. If I enable "build on save", the error goes away but I am stuck dealing with slow recompilation builds every time I re-save a file which is not practical. Here is the stack trace:

**Atom Version**: 1.5.3
**System**: Microsoft Windows 7 Home Premium 
**Thrown From**: [ide-purescript](https://github.com/nwolverson/atom-ide-purescript) package, v0.8.2


### Stack Trace

Uncaught ReferenceError: resolve is not defined

At C:\Users\Adam\AppData\Local\atom\app-1.5.3\resources\app.asar\src\pane.js:825

ReferenceError: resolve is not defined
    at LinterPurescript.lintOnSave (file:///C:/Users/Adam/.atom/packages/ide-purescript/lib/linter-purescript.coffee:68:7)
    at LinterPurescript.lintOnSave (file:///C:/Users/Adam/.atom/packages/ide-purescript/lib/linter-purescript.coffee:1:1)
    at file:///C:/Users/Adam/.atom/packages/ide-purescript/lib/editors.coffee:21:19
    at Function.module.exports.Emitter.simpleDispatch (C:\Users\Adam\AppData\Local\atom\app-1.5.3\resources\app.asar\node_modules\event-kit\lib\emitter.js:25:14)
    at Emitter.module.exports.Emitter.emit (C:\Users\Adam\AppData\Local\atom\app-1.5.3\resources\app.asar\node_modules\event-kit\lib\emitter.js:125:28)
    at TextBuffer.module.exports.TextBuffer.saveAs (C:\Users\Adam\AppData\Local\atom\app-1.5.3\resources\app.asar\node_modules\text-buffer\lib\text-buffer.js:1067:27)
    at TextBuffer.module.exports.TextBuffer.save (C:\Users\Adam\AppData\Local\atom\app-1.5.3\resources\app.asar\node_modules\text-buffer\lib\text-buffer.js:1037:19)
    at TextEditor.module.exports.TextEditor.save (C:\Users\Adam\AppData\Local\atom\app-1.5.3\resources\app.asar\src\text-editor.js:630:26)
    at Pane.module.exports.Pane.saveItem (C:\Users\Adam\AppData\Local\atom\app-1.5.3\resources\app.asar\src\pane.js:545:18)
    at Pane.module.exports.Pane.saveActiveItem (C:\Users\Adam\AppData\Local\atom\app-1.5.3\resources\app.asar\src\pane.js:528:19)
    at Workspace.module.exports.Workspace.saveActivePaneItem (C:\Users\Adam\AppData\Local\atom\app-1.5.3\resources\app.asar\src\workspace.js:649:35)
    at atom-workspace.commandRegistry.add.core:save (C:\Users\Adam\AppData\Local\atom\app-1.5.3\resources\app.asar\src\register-default-commands.js:173:32)
    at CommandRegistry.module.exports.CommandRegistry.handleCommandEvent (C:\Users\Adam\AppData\Local\atom\app-1.5.3\resources\app.asar\src\command-registry.js:260:29)
    at C:\Users\Adam\AppData\Local\atom\app-1.5.3\resources\app.asar\src\command-registry.js:3:61
    at KeymapManager.module.exports.KeymapManager.dispatchCommandEvent (C:\Users\Adam\AppData\Local\atom\app-1.5.3\resources\app.asar\node_modules\atom-keymap\lib\keymap-manager.js:536:16)
    at KeymapManager.module.exports.KeymapManager.handleKeyboardEvent (C:\Users\Adam\AppData\Local\atom\app-1.5.3\resources\app.asar\node_modules\atom-keymap\lib\keymap-manager.js:359:22)
    at WindowEventHandler.module.exports.WindowEventHandler.handleDocumentKeydown (C:\Users\Adam\AppData\Local\atom\app-1.5.3\resources\app.asar\src\window-event-handler.js:97:36)
    at HTMLDocument.<anonymous> (C:\Users\Adam\AppData\Local\atom\app-1.5.3\resources\app.asar\src\window-event-handler.js:3:61)

Commands

  9x -0:42.2.0 core:backspace (atom-text-editor.editor.is-focused)
     -0:37 editor:newline (atom-text-editor.editor.is-focused)
  3x -0:30.6.0 core:backspace (atom-text-editor.editor.is-focused)
     -0:29.2.0 core:save (atom-text-editor.editor.is-focused)
     -0:22.9.0 core:backspace (atom-text-editor.editor.is-focused)
 11x -0:22.3.0 core:move-left (atom-text-editor.editor.is-focused)
     -0:21 core:move-right (atom-text-editor.editor.is-focused)
  3x -0:20.7.0 core:backspace (atom-text-editor.editor.is-focused)
     -0:11.8.0 editor:consolidate-selections (atom-text-editor.editor.is-focused)
     -0:11.8.0 core:cancel (atom-text-editor.editor.is-focused)
     -0:09.0 core:save (atom-text-editor.editor.is-focused)

Any ideas?

Configure build command

Currently calling pulp build, could configure to at least have option of pulp browserify - we don't really care about anything other than the psc-format errors anyway.

Auto-complete not working

This is in version 0.11.1. The auto-complete suggestion list displays, but any action on the list items (tab, enter, mouse click) erases anything you have typed and inserts nothing.

Completion for imports

Currently modules will be completed (somewhat) but only from the modules currently present in the file. Is even everything loaded enough? Probably you might want to complete anything present in the project (which might not be imported in any file you visited this session), or more generally something that might need to be installed.

Can't type inside the Psci console

Hi,
I can't type inside the Psci tab opened within atom. But I can successfully execute send selection and see results.

I'm on 0.11, OS X

Server process running but types don't show up

I can see the process loaded the right modules and is making queries, but type and completion queries always return zero results. Running queries on the console by hand seems to work fine.

Parsing the imports breaks with formatting

Currently atom-ide-purescript only parses inputs of this format:

import Prelude
import Data.Array
import Data.Foldable
import qualified Data.Map as M
import Data.Tuple (Tuple(..), snd)
import Openspace.Types

This only loads the Data.Map import

import           Prelude
import           Data.Array
import           Data.Foldable
import qualified Data.Map as M
import           Data.Tuple (Tuple(..), snd)
import           Openspace.Types

Manage psc-ide-server process

Should

  • Start the server process
  • Manage multiple server process and the correct workspace working directories somehow
  • Prime it with the correct load commands for the current buffer
  • Watch for buffer changes to reload server
  • Reload server on build

Suggested build command for use with tests

I've been using pulp build --src-path test --include src as my build command since files in the test directory were otherwise not providing error or linter information.

Renamed psc-ide to psc-ide-client

In order to be more consistent I renamed the psc-ide exectuable into psc-ide-client. This will take effect with the purescript-0.8.1 release.

Uncaught TypeError: Cannot read property 'screenPositionForMouseEvent' of null

[Enter steps to reproduce below:]

  1. Happens when deleting an open file. I can reproduce this every time I do it. It doesn't have to be in a purescript project nor the first project on the list. The file does not have to be a purescript file.

Atom Version: 1.7.0-beta5
System: Microsoft Windows 10 Education
Thrown From: ide-purescript package, v0.10.0

Stack Trace

Uncaught TypeError: Cannot read property 'screenPositionForMouseEvent' of null

At C:\Users\Dito\.atom\packages\ide-purescript\node_modules\hover-tooltips\lib\hover-tooltips.js:100

TypeError: Cannot read property 'screenPositionForMouseEvent' of null
    at bufferPositionForMouseEvent (C:\Users\Dito\.atom\packages\ide-purescript\node_modules\hover-tooltips\lib\hover-tooltips.js:100:45)
    at showExpressionType (C:\Users\Dito\.atom\packages\ide-purescript\node_modules\hover-tooltips\lib\hover-tooltips.js:49:28)
    at C:\Users\Dito\.atom\packages\ide-purescript\node_modules\hover-tooltips\lib\hover-tooltips.js:37:63

Commands

     -2:14.5.0 linter:lint (atom-text-editor.editor.is-focused)
     -1:55.4.0 tree-view:remove (span.name.icon.icon-file-text)
     -1:53.5.0 linter:lint (atom-text-editor.editor)
     -1:51.8.0 settings-view:open (ol.tree-view.list-tree.has-collapsable-children.focusable-panel.full-menu)
     -1:01.6.0 core:confirm (atom-text-editor.editor.mini.is-focused)
     -0:42.9.0 linter:lint (atom-text-editor.editor)
     -0:41.7.0 core:save (atom-text-editor.editor.is-focused)
  2x -0:41.4.0 linter:lint (atom-text-editor.editor.is-focused)
     -0:15.9.0 tree-view:remove (span.name.icon.icon-file-text)
     -0:13.6.0 linter:lint (atom-text-editor.editor.is-focused)
     -0:12.9.0 core:save (atom-text-editor.editor.is-focused)
     -0:12.6.0 linter:lint (atom-text-editor.editor.is-focused)
     -0:05.1.0 tree-view:remove (span.name.icon.icon-file-text)
     -0:03.4.0 linter:lint (atom-text-editor.editor)
     -0:01.6.0 core:save (atom-text-editor.editor.is-focused)
     -0:01.2.0 linter:lint (atom-text-editor.editor.is-focused)

Config

{
  "core": {
    "customFileTypes": {
      "source.asm.x86_64": [
        "*.s"
      ],
      "x86 and x86_64 Assembyl": [
        "*.s"
      ]
    },
    "disabledPackages": [
      "linter-clang"
    ],
    "themes": [
      "atom-material-ui",
      "atom-material-syntax"
    ]
  },
  "ide-purescript": {}
}

Installed Packages

# User
atom-jade, v0.3.0
atom-material-syntax, v0.4.6
atom-material-ui, v1.2.10
atom-typescript, v8.5.0
file-types, v0.5.1
fold-search-results, v1.0.5
gist-it, v0.9.1
ide-haskell-cabal, v1.2.0
ide-purescript, v0.10.0
keyboard-localization, v1.4.18
language-batch, v0.3.3
language-haskell, v1.7.9
language-purescript, v0.7.0
language-x86-64-assembly, v2.1.10
linter, v1.11.4
linter-gcc, v0.6.9
minimap, v4.21.0

# Dev
No dev packages

linter does not work

If I save a file, all I get is (after "Building PureScript"):

atom-error

I am running nixos unstable, atom version: 1.5.4, psc : 0.8.2

I changed the psc-ide command to psc-ide-client as psc-ide does not exist. I assume the name has changed?

Maybe you have an immediate idea what went wrong?

Btw, thanks for an awesome atom-ide-purescript!

deprecationSite.getFileName is not a function

Hi, there! Just trying to get this plugin working, and I get this error whenever I open a .purs file

Atom Version: 1.2.1
System: Mac OS X 10.11.1
Thrown From: ide-purescript package, v0.7.1

Stack Trace

Failed to activate the ide-purescript package

At deprecationSite.getFileName is not a function

TypeError: deprecationSite.getFileName is not a function
  at Object.global.__grim__.deprecate (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/grim/lib/grim.js:56:36)
  at Object.defineProperty.get [as TextEditor] (/Applications/Atom.app/Contents/Resources/app.asar/exports/atom.js:38:14)
  at Object.<anonymous> (/Users/murphy/.atom/packages/ide-purescript/lib/editors.coffee:1:35)
  at Object.<anonymous> (/Users/murphy/.atom/packages/ide-purescript/lib/editors.coffee:1:1)
  at Module._compile (module.js:434:26)
  at Object.defineProperty.value [as .coffee] (/Applications/Atom.app/Contents/Resources/app.asar/src/compile-cache.js:190:21)
  at Module.load (module.js:355:32)
  at Function.Module._load (module.js:310:12)
  at Module.require (module.js:365:17)
  at require (module.js:384:17)
  at Object.<anonymous> (/Users/murphy/.atom/packages/ide-purescript/lib/main.coffee:5:11)
  at Object.<anonymous> (/Users/murphy/.atom/packages/ide-purescript/lib/main.coffee:1:1)
  at Module._compile (module.js:434:26)
  at Object.defineProperty.value [as .coffee] (/Applications/Atom.app/Contents/Resources/app.asar/src/compile-cache.js:190:21)
  at Module.load (module.js:355:32)
  at Function.Module._load (module.js:310:12)
  at Module.require (module.js:365:17)
  at require (module.js:384:17)
  at Package.module.exports.Package.requireMainModule (/Applications/Atom.app/Contents/Resources/app.asar/src/package.js:661:34)
  at Package.module.exports.Package.activateConfig (/Applications/Atom.app/Contents/Resources/app.asar/src/package.js:188:14)
  at Package.module.exports.Package.activateNow (/Applications/Atom.app/Contents/Resources/app.asar/src/package.js:166:14)
  at /Applications/Atom.app/Contents/Resources/app.asar/src/package.js:784:28
  at Emitter.module.exports.Emitter.emit (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/event-kit/lib/emitter.js:86:11)
  at PackageManager.module.exports.PackageManager.triggerActivationHook (/Applications/Atom.app/Contents/Resources/app.asar/src/package-manager.js:528:41)
  at TokenizedBuffer.module.exports.TokenizedBuffer.setGrammar (/Applications/Atom.app/Contents/Resources/app.asar/src/tokenized-buffer.js:181:27)
  at TokenizedBuffer.module.exports.TokenizedBuffer.reloadGrammar (/Applications/Atom.app/Contents/Resources/app.asar/src/tokenized-buffer.js:192:21)
  at new TokenizedBuffer (/Applications/Atom.app/Contents/Resources/app.asar/src/tokenized-buffer.js:78:12)
  at new DisplayBuffer (/Applications/Atom.app/Contents/Resources/app.asar/src/display-buffer.js:85:32)
  at new TextEditor (/Applications/Atom.app/Contents/Resources/app.asar/src/text-editor.js:120:30)
  at Workspace.module.exports.Workspace.buildTextEditor (/Applications/Atom.app/Contents/Resources/app.asar/src/workspace.js:570:14)
  at /Applications/Atom.app/Contents/Resources/app.asar/src/workspace.js:550:24
  at process._tickCallback (node.js:368:9)

Commands

     -1:05.9.0 tree-view:toggle (atom-pane.pane.active)
  3x -1:02.3.0 core:move-up (ol.tree-view.full-menu.list-tree.has-collapsable-children.focusable-panel)
     -0:56.6.0 project-viewer:toggle (atom-text-editor.editor.is-focused)
     -0:51.5.0 core:close (atom-text-editor.editor.is-focused)
     -0:47.3.0 settings-view:check-for-package-updates (atom-workspace.workspace.scrollbars-visible-when-scrolling.theme-seti-syntax.theme-atom-material-ui)
     -0:06.7.0 core:close (atom-workspace.workspace.scrollbars-visible-when-scrolling.theme-seti-syntax.theme-atom-material-ui)

Config

{
  "core": {
    "disabledPackages": [
      "nuclide-click-to-symbol",
      "jsformat",
      "nuclide-format-js"
    ],
    "customFileTypes": {
      "source.css": [
        "icss",
        "istyl"
      ],
      "source": [
        "[object Object]"
      ]
    },
    "projectHome": "/Users/murphy/projects",
    "themes": [
      "atom-material-ui",
      "seti-syntax"
    ]
  }
}

Installed Packages

# User
Stylus, v1.2.1
atom-material-ui, v0.8.0
autocomplete-paths, v1.0.2
cursor-history, v0.5.9
emmet, v2.3.14
ide-purescript, v0.7.1
javascript-snippets, v1.0.0
language-elm, v1.3.0
language-haskell, v1.5.0
language-purescript, v0.4.0
linter, v1.11.2
minimap, v4.16.0
minimap-autohide, v0.10.1
minimap-find-and-replace, v4.3.2
minimap-git-diff, v4.1.8
minimap-selection, v4.3.1
nuclide-diagnostics-store, v0.0.32
nuclide-diagnostics-ui, v0.0.32
nuclide-flow, v0.0.32
nuclide-type-hint, v0.0.32
pigments, v0.18.1
pretty-json, v0.4.1
project-viewer, v0.2.19
react, v0.12.10
seti-syntax, v0.4.1
statusbar-datetime, v0.9.7
vim-mode-plus, v0.3.0

# Dev
No dev packages

Pursuit lookup

Completion / type lookup via pursuit - triggered by some command.

Sort build system

Neither build nor lint providers currently do quite the right thing, and we want to trigger things on build. Figure out the best thing to do, possibly want to initiate build from this package and e.g. call into linter to display errors.

Linter support

I know that Linter support is experimental in this release, but should it be working in any form? On every save command I receive the pop-up alerts letting me know the linter has been run, but it fails to detect any errors. I am able to get auto-completion and tool tips working, but the build command is also failing with the following error:
Executing with sh: pulp build
Unable to execute with sh: pulp

Building via the terminal (powershell) works fine. This is on Windows 7.

"Unexpected token �"

I'm getting a strange error on every key press.

$ psc-ide-server --version
0.8.4.0
$ atom --version
Atom    : 1.7.1
Electron: 0.36.8
Chrome  : 47.0.2526.110
Node    : 5.1.1

screenshot 2016-04-15 23 42 30

It seems the formatting in the screenshot is more useful than plain text:

screenshot 2016-04-15 23 45 07

My random and completely unsubstantiated suspicion is that there might be a part of the code that tries to use the default port. There's a backup program or something else occupying it and would explain the random junk showing up. At the same time, as you can see in the screenshot, on-save validation seems to be working just fine, so I guess it would be the type-ahead that's somehow buggered.

Uncaught TypeError: editor.displayBuffer.getScrollTop is not a function

Please can you fix this for Atom 1.1. I realised as well that jumping to errors does not work for newest psc. Best regards and thanks. Jürgen

Atom Version: 1.1.0
System: Ubuntu 15.10
Thrown From: ide-purescript package, v0.6.1

Stack Trace

Uncaught TypeError: editor.displayBuffer.getScrollTop is not a function

At /home/jutaro/.atom/packages/ide-purescript/node_modules/hover-tooltips/lib/hover-tooltips.js:53

TypeError: editor.displayBuffer.getScrollTop is not a function
  at showExpressionType (/home/jutaro/.atom/packages/ide-purescript/node_modules/hover-tooltips/lib/hover-tooltips.js:53:49)
  at /home/jutaro/.atom/packages/ide-purescript/node_modules/hover-tooltips/lib/hover-tooltips.js:40:63

Commands

     -0:37.1.0 tabs:close-all-tabs (div.title)

Config

{
  "core": {
    "themes": [
      "atom-light-ui",
      "atom-light-syntax"
    ],
    "projectHome": "/home/jutaro/Develop"
  },
  "ide-purescript": {
    "pscIdeExe": "/home/jutaro/Develop/cabal-unpack/psc-ide/.cabal-sandbox/bin/psc-ide",
    "pscIdeServerExe": "/home/jutaro/Develop/cabal-unpack/psc-ide/.cabal-sandbox/bin/psc-ide-server",
    "enableAtomLinter": false
  }
}

Installed Packages

# User
build, v0.48.0
file-icons, v1.6.11
haskell-ghc-mod, v1.1.1
ide-haskell-cabal, v1.0.0
ide-purescript, v0.6.1
language-haskell, v1.4.12
language-purescript, v0.4.0
linter, v1.9.1
linter-hlint, v0.4.2
minimap, v4.15.0
travis-ci-status, v0.18.0

# Dev
No dev packages

vscode version?

(Accidentally initially submitted this issue with no text)

Hi I noticed that you'd already created the "PureScript Language Support" package for Visual Studio Code and was wondering if you were planning on also making a similar extension as atom-ide-purescript for vscode.

If not, then I was thinking of making a start on it.

Failed to activate the ide-purescript package

I think this is related to having multiple projects open at the same time, but {dir} is clearly not defined inside the string literal.

Atom Version: 1.0.11
System: Mac OS X 10.10.3
Thrown From: ide-purescript package, v0.4.0

Stack Trace

Failed to activate the ide-purescript package

At dir is not defined

ReferenceError: dir is not defined
  at PscIde.startServer (/Users/paf31/.atom/packages/ide-purescript/lib/psc-ide.coffee:40:71)
  at PscIde.activate (/Users/paf31/.atom/packages/ide-purescript/lib/psc-ide.coffee:10:6)
  at Object.module.exports.activate (/Users/paf31/.atom/packages/ide-purescript/lib/main.coffee:39:13)
  at Package.module.exports.Package.activateNow (/Applications/Atom.app/Contents/Resources/app.asar/src/package.js:243:19)
  at /Applications/Atom.app/Contents/Resources/app.asar/src/package.js:915:28
  at Emitter.module.exports.Emitter.emit (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/event-kit/lib/emitter.js:82:11)
  at PackageManager.module.exports.PackageManager.triggerActivationHook (/Applications/Atom.app/Contents/Resources/app.asar/src/package-manager.js:502:41)
  at TokenizedBuffer.module.exports.TokenizedBuffer.setGrammar (/Applications/Atom.app/Contents/Resources/app.asar/src/tokenized-buffer.js:180:21)
  at TokenizedBuffer.module.exports.TokenizedBuffer.reloadGrammar (/Applications/Atom.app/Contents/Resources/app.asar/src/tokenized-buffer.js:191:21)
  at new TokenizedBuffer (/Applications/Atom.app/Contents/Resources/app.asar/src/tokenized-buffer.js:73:12)
  at new DisplayBuffer (/Applications/Atom.app/Contents/Resources/app.asar/src/display-buffer.js:69:32)
  at new TextEditor (/Applications/Atom.app/Contents/Resources/app.asar/src/text-editor.js:86:30)
  at Project.module.exports.Project.buildEditorForBuffer (/Applications/Atom.app/Contents/Resources/app.asar/src/project.js:514:16)
  at /Applications/Atom.app/Contents/Resources/app.asar/src/project.js:403:24
  at _fulfilled (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/q/q.js:794:54)
  at self.promiseDispatch.done (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/q/q.js:823:30)
  at Promise.promise.promiseDispatch (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/q/q.js:756:13)
  at /Applications/Atom.app/Contents/Resources/app.asar/node_modules/q/q.js:564:44
  at flush (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/q/q.js:110:17)
  at process._tickCallback (node.js:357:13)

Conflict with another package

There is a conflict with package latex-completions (it works only when atom-ide-purescript is disabled). Since purescript now supports unicode, it would be nice to have some kind of autocompletion for it. Ideally as a part of atom-ide-purescript.

Default build command on Windows is problematic

Somehow, the pulp in the default build command should be changed to pulp.cmd on Windows, as mentioned in #33 . However, I had to manually change the default build command, and after checking

pulpCmd = "pulp" -- pulpCmd = if process.platform == 'win32' then 'pulp.cmd' else 'pulp'
I am surprised to see the switching has been commented out! Is there a good reason for that?

Also, using the default build command, build is not triggered at all, and there simply is no error message for failing to build, simply no build errors. Is there any way to fix this?

psci won't start

[Enter steps to reproduce below:]

  1. use psci open command

Atom Version: 1.4.2
System: Mac OS X 10.10.5
Thrown From: ide-purescript package, v0.8.1

Stack Trace

Uncaught Error: This socket is closed.

At events.js:141

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 PsciProcess.kill (/Users/jon/.atom/packages/ide-purescript/lib/psci.coffee:13:17)
    at Psci.killProc (/Users/jon/.atom/packages/ide-purescript/lib/psci.coffee:56:11)
    at Psci.startPsci (/Users/jon/.atom/packages/ide-purescript/lib/psci.coffee:69:6)
    at Psci.startPsci (/Users/jon/.atom/packages/ide-purescript/lib/psci.coffee:1:1)
    at Psci.openPsciCommand (/Users/jon/.atom/packages/ide-purescript/lib/psci.coffee:66:6)
    at atom-workspace.<anonymous> (/Users/jon/.atom/packages/ide-purescript/lib/psci.coffee:1:1)
    at CommandRegistry.module.exports.CommandRegistry.handleCommandEvent (/Applications/Atom.app/Contents/Resources/app.asar/src/command-registry.js:260:29)
    at /Applications/Atom.app/Contents/Resources/app.asar/src/command-registry.js:3:61
    at CommandPaletteView.module.exports.CommandPaletteView.confirmed (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/command-palette/lib/command-palette-view.js:183:32)
    at CommandPaletteView.module.exports.SelectListView.confirmSelection (/Applications/Atom.app/Contents/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 (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/atom-space-pen-views/lib/select-list-view.js:109:19)
    at CommandRegistry.module.exports.CommandRegistry.handleCommandEvent (/Applications/Atom.app/Contents/Resources/app.asar/src/command-registry.js:260:29)
    at /Applications/Atom.app/Contents/Resources/app.asar/src/command-registry.js:3:61
    at KeymapManager.module.exports.KeymapManager.dispatchCommandEvent (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/atom-keymap/lib/keymap-manager.js:536:16)
    at KeymapManager.module.exports.KeymapManager.handleKeyboardEvent (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/atom-keymap/lib/keymap-manager.js:359:22)
    at WindowEventHandler.module.exports.WindowEventHandler.handleDocumentKeydown (/Applications/Atom.app/Contents/Resources/app.asar/src/window-event-handler.js:97:36)
    at HTMLDocument.<anonymous> (/Applications/Atom.app/Contents/Resources/app.asar/src/window-event-handler.js:3:61)

Commands

     -0:16.5.0 command-palette:toggle (atom-text-editor.editor.is-focused)
     -0:12.7.0 core:confirm (atom-text-editor.editor.mini.is-focused)
     -0:12.7.0 psci:open (atom-text-editor.editor)
     -0:06.1.0 core:select-all (atom-text-editor.editor.is-focused)
     -0:05.6.0 core:backspace (atom-text-editor.editor.is-focused)
     -0:04.2.0 command-palette:toggle (atom-text-editor.editor.is-focused)
     -0:01.7.0 core:move-down (atom-text-editor.editor.mini.is-focused)
     -0:00.8.0 core:move-up (atom-text-editor.editor.mini.is-focused)
     -0:00.5.0 core:confirm (atom-text-editor.editor.mini.is-focused)
     -0:00.5.0 psci:open (atom-text-editor.editor)

Config

{
  "core": {}
}

Installed Packages

# User
ide-purescript, v0.8.1
language-elm, v1.3.0
language-purescript, v0.6.1

# Dev
No dev packages

Find project root for source files opened directly

If atom is opened on a file under a purescript project directory /dir/src/Foo/Bar.purs we could walk up the tree to look for something that looks like the project directory.

Scenarios:

  • open src folder directly as workspace
  • open single .purs file
  • .purs file in non-standard structure: complain and bail as per now.

undo can break after auto importing modules

Using ide-purescript v0.11.0, with purescript v0.8.4.0

If you are typing in the middle of a line, then import a module through autocompletion, it can break the undo.

Here is a simple reproduction:

module Sample where

main = pri`

autocomplete print and add a string

module Sample where

import Control.Monad.Eff.Console (print)

main = print "hello world! this is a very long string!"

Try and insert "$ toUpper", autocompleting the import

module Sample where

import Control.Monad.Eff.Console (print)
import Data.String (toUpper)

main = print $ toUpper "hello world! this is a very long string!"

Now undo twice:

module Sample where

import Control.Monad.Eff.Console (print)

main = print $ toUppd! this is a very long string!"

Relax autocomplete suggestion filtering

I like that suggestions that are currently imported are shown, exact matches. But

  • Consider if a different matcher is better (I know I was looking for camelHumps, not sure if the flex matcher is the right choice)
  • Some way to get completions outside of the currently imported modules. I don't know if this is a separate command (like triggering autocomplete a 2nd time) or if these can be in the same list but scored lower

Uncaught Error: spawn EACCES

From my terminal:
pulp init
atom .

Atom Version: 1.4.0
System: Mac OS X 10.11.2
Thrown From: ide-purescript package, v0.7.1

Stack Trace

Uncaught Error: spawn EACCES

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

Error: spawn EACCES
    at exports._errnoException (util.js:837:11)
    at ChildProcess.spawn (internal/child_process.js:298:11)
    at Object.exports.spawn (child_process.js:351: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 /Users/Gibson/.atom/packages/ide-purescript/lib/psc-ide.coffee:39:16
    at PscIde.runCmd (/Users/Gibson/.atom/packages/ide-purescript/lib/psc-ide.coffee:21:16)
    at PscIde.getWorkingDir (/Users/Gibson/.atom/packages/ide-purescript/lib/psc-ide.coffee:91:6)
    at PscIde.startServer (/Users/Gibson/.atom/packages/ide-purescript/lib/psc-ide.coffee:64:6)
    at PscIde.activate (/Users/Gibson/.atom/packages/ide-purescript/lib/psc-ide.coffee:13:6)
    at Object.module.exports.activate (/Users/Gibson/.atom/packages/ide-purescript/lib/main.coffee:46:13)
    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:847:28
    at Function.module.exports.Emitter.simpleDispatch (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/event-kit/lib/emitter.js:25:14)
    at Emitter.module.exports.Emitter.emit (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/event-kit/lib/emitter.js:125:28)
    at PackageManager.module.exports.PackageManager.triggerDeferredActivationHooks (/Applications/Atom.app/Contents/Resources/app.asar/src/package-manager.js:547:36)
    at /Applications/Atom.app/Contents/Resources/app.asar/src/package-manager.js:487:17

Commands

Config

{
  "core": {},
  "ide-purescript": {
    "pscIdeExe": "/usr/local/bin",
    "pscIdeServerExe": "/usr/local/bin"
  }
}

Installed Packages

# User
ide-purescript, v0.7.1
language-elm, v1.3.2
language-purescript, v0.6.1

# Dev
No dev packages

New Experimental Add Clause/Case Feature

I would like to test these out for you, but I'm not sure exactly how to use them. Can you provide a slightly more detailed explanation of how to use these features?

Uncaught TypeError: Cannot read property 'lintOnBuild' of undefined

[Enter steps to reproduce below:]

  1. Run "Purescript: Build"

Atom Version: 1.4.3
System: Mac OS X 10.10.5
Thrown From: ide-purescript package, v0.8.2

Stack Trace

Uncaught TypeError: Cannot read property 'lintOnBuild' of undefined

At /Users/callumr/.atom/packages/ide-purescript/lib/main.coffee:85

TypeError: Cannot read property 'lintOnBuild' of undefined
    at Main.lint (/Users/callumr/.atom/packages/ide-purescript/lib/main.coffee:85:14)
    at atom-workspace.<anonymous> (/Users/callumr/.atom/packages/ide-purescript/lib/main.coffee:1:1)
    at CommandRegistry.module.exports.CommandRegistry.handleCommandEvent (/Applications/Atom.app/Contents/Resources/app.asar/src/command-registry.js:260:29)
    at /Applications/Atom.app/Contents/Resources/app.asar/src/command-registry.js:3:61
    at CommandPaletteView.module.exports.CommandPaletteView.confirmed (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/command-palette/lib/command-palette-view.js:183:32)
    at CommandPaletteView.module.exports.SelectListView.confirmSelection (/Applications/Atom.app/Contents/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 (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/atom-space-pen-views/lib/select-list-view.js:109:19)
    at CommandRegistry.module.exports.CommandRegistry.handleCommandEvent (/Applications/Atom.app/Contents/Resources/app.asar/src/command-registry.js:260:29)
    at /Applications/Atom.app/Contents/Resources/app.asar/src/command-registry.js:3:61
    at KeymapManager.module.exports.KeymapManager.dispatchCommandEvent (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/atom-keymap/lib/keymap-manager.js:536:16)
    at KeymapManager.module.exports.KeymapManager.handleKeyboardEvent (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/atom-keymap/lib/keymap-manager.js:359:22)
    at WindowEventHandler.module.exports.WindowEventHandler.handleDocumentKeydown (/Applications/Atom.app/Contents/Resources/app.asar/src/window-event-handler.js:97:36)
    at HTMLDocument.<anonymous> (/Applications/Atom.app/Contents/Resources/app.asar/src/window-event-handler.js:3:61)

Commands

  5x -1:24.6.0 core:backspace (atom-text-editor.editor.is-focused)
  2x -0:18.3.0 core:save (atom-text-editor.editor.is-focused)
  3x -0:13.9.0 core:backspace (atom-text-editor.editor.is-focused)
  2x -0:12.7.0 core:save (atom-text-editor.editor.is-focused)
     -0:08.2.0 fuzzy-finder:toggle-file-finder (atom-text-editor.editor.is-focused)
     -0:07.1.0 core:backspace (atom-text-editor.editor.mini.is-focused)
     -0:06.7.0 editor:consolidate-selections (atom-text-editor.editor.mini.is-focused)
     -0:06.7.0 core:cancel (atom-text-editor.editor.mini.is-focused)
     -0:06.2.0 command-palette:toggle (atom-text-editor.editor.is-focused)
  7x -0:04.4.0 core:backspace (atom-text-editor.editor.mini.is-focused)
     -0:00.7.0 core:confirm (atom-text-editor.editor.mini.is-focused)
     -0:00.7.0 purescript:build (atom-text-editor.editor)

Config

{
  "core": {
    "disabledPackages": [
      "autocomplete",
      "stack-ide-atom",
      "haskell-ghc-mod"
    ]
  },
  "ide-purescript": {}
}

Installed Packages

# User
ide-purescript, v0.8.2
indent-guide-improved, v1.4.5
language-docker, v1.1.3
language-gradle, v0.0.3
language-haskell, v1.5.0
language-purescript, v0.6.1
language-restructuredtext, v0.9.0
minimap, v4.16.0
tidy-tabs, v0.3.0

# Dev
No dev packages

Add a disable/toggle

Really irritating when auto-building happens when I was just touching a .purs file in the purescript compiler for example...

type lookup for symbolic functions

It would be nice to be able to look up the types for infix functions like (~>) from Signal.

Maybe an interactive version of typeLookup where you type your search into the Searchbar?

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.