nwolverson / atom-ide-purescript Goto Github PK
View Code? Open in Web Editor NEWAtom package for PureScript build, completion, etc support
Home Page: https://atom.io/packages/ide-purescript
License: MIT License
Atom package for PureScript build, completion, etc support
Home Page: https://atom.io/packages/ide-purescript
License: MIT License
PureScript 0.7.5 error format has changed.
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
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)
{
"core": {},
"ide-purescript": {}
}
# 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
Thanks for your hard work putting this together. Rejoice! Type info on hover!
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)
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)
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?
Use https://www.npmjs.com/package/atom-package-dependencies to bring in dependencies automatically.
ionide has a separate 'installer' package that only brings in its dependent components but it seems that we should just use this in the main package for our regular package dependencies.
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.
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.
Hi there,
resolve
at https://github.com/nwolverson/atom-ide-purescript/blob/master/lib/linter-purescript.coffee#L68 is undefined.
should be
return Promise.resolve([])
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.
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
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.
Remove or provide an option to disable the messages "Building PureScript" and "PureScript build succeeded" when "build on save" is enabled.
https://github.com/nwolverson/atom-ide-purescript/blob/master/src/IdePurescript/Atom/LinterBuild.purs#L83
https://github.com/nwolverson/atom-ide-purescript/blob/master/src/IdePurescript/Atom/LinterBuild.purs#L89
These messages are somehow distracting me every time.
results will now always be wrapped in this structure:
{
"resultType": "success/error"
"result": JSON
}
Where JSON is the same json as you got before.
In the case of an error result will just contain an error message as a string.
So all the change needed should be to unwrap the success cases and display the error cases.
The format is documented here:
https://github.com/kRITZCREEK/psc-ide/blob/master/PROTOCOL.md
At least as an interim measure until sorting out the best build option
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
Should
load
commands for the current bufferI reload the plugin by hand but there should probably be something in a menu to restart this
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.
On autocompletion could insert an explicit import clause
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.
[Enter steps to reproduce below:]
Atom Version: 1.7.0-beta5
System: Microsoft Windows 10 Education
Thrown From: ide-purescript package, v0.10.0
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
-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)
{
"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": {}
}
# 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
If I save a file, all I get is (after "Building PureScript"):
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!
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
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)
-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)
{
"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"
]
}
}
# 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
Completion / type lookup via pursuit - triggered by some command.
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.
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.
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
It seems the formatting in the screenshot is more useful than plain text:
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.
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
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
-0:37.1.0 tabs:close-all-tabs (div.title)
{
"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
}
}
# 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
(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.
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
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)
Not clear where they're coming from...
We have type information, give that to the user for existing identifiers.
See https://github.com/dbushenko/psc-ide-emacs/commit/35f72ba0f5e4e3fb395d4a709d442660f700c90a
I think atom-typescript does this on hover? Not sure what other atom packages do.
(Check restriction to see it's an identifier?)
That old .cmd
again. Not good enough to default to something different on windows as unlike pulp this could be either.
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
.
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
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?
[Enter steps to reproduce below:]
Atom Version: 1.4.2
System: Mac OS X 10.10.5
Thrown From: ide-purescript package, v0.8.1
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)
-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)
{
"core": {}
}
# User
ide-purescript, v0.8.1
language-elm, v1.3.0
language-purescript, v0.6.1
# Dev
No dev packages
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:
src
folder directly as workspace.purs
file.purs
file in non-standard structure: complain and bail as per now.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!"
I like that suggestions that are currently imported are shown, exact matches. But
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
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
{
"core": {},
"ide-purescript": {
"pscIdeExe": "/usr/local/bin",
"pscIdeServerExe": "/usr/local/bin"
}
}
# User
ide-purescript, v0.7.1
language-elm, v1.3.2
language-purescript, v0.6.1
# Dev
No dev packages
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?
#50 added dependency installation, and it's currently being used to bring in linter
.
As the README directs users to install https://atom.io/packages/language-purescript manually, would it be possible to add the dependency to package.json instead?
[Enter steps to reproduce below:]
Atom Version: 1.4.3
System: Mac OS X 10.10.5
Thrown From: ide-purescript package, v0.8.2
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)
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)
{
"core": {
"disabledPackages": [
"autocomplete",
"stack-ide-atom",
"haskell-ghc-mod"
]
},
"ide-purescript": {}
}
# 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
Really irritating when auto-building happens when I was just touching a .purs
file in the purescript compiler for example...
this seems worse with changes to load all built modules up-front...
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?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.