Git Product home page Git Product logo

atom-hack's Introduction

Hi! I'm @steelbrain

๐Ÿ›  I'm the creator of some of the most loved Atom packages like:

๐Ÿ“ฆ I've also crafted popular node.js libraries:

๐Ÿ“ˆ My packages have received over 100 million downloads on NPM!

๐ŸŒฒ Outside of coding, I love:

  • Taking long hikes
  • Exploring the world of cars
  • Diving deep into soldering projects

๐Ÿ“ซ Wanna connect? Have cool ideas? Write to me at hello at my aneesiqbal dot ai.

atom-hack's People

Contributors

gitter-badger avatar greenkeeper[bot] avatar greenkeeperio-bot avatar raeesbhatti avatar raeesiqbal avatar siebelstim avatar steelbrain avatar

Stargazers

 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

atom-hack's Issues

Connecting to Vagrant from Windows

I am trying to connect to a vagrant installation from Windows. I have tried connecting to 127.0.0.1 on port 2222 with the private key generated by vagrant for my machine, but to no avail. Can anyone offer any assistance? I have ssh on my path.

Skip Non-Hack PHP Files

Atom-Hack interferes with 'plain' PHP (<?php not <?hh), because it generates an uncaught error on a file save. A bit annoying for my taste...


Atom Version: 0.189.0
System: Mac OS X 10.10.2
Thrown From: Atom-Hack package, v3.5.3

Stack Trace

Uncaught Error: could not find a .hhconfig file in / or any of its parent directories. Do you have a .hhconfig in your code's root directory?

At /Users/user/.atom/packages/Atom-Hack/lib/typechecker.coffee:53

Error: could not find a .hhconfig file in / or any of its parent directories. Do you have a .hhconfig in your code's root directory?

  at /Users/user/.atom/packages/Atom-Hack/lib/typechecker.coffee:53:23

Commands

     -0:54.0 pane:show-next-item (atom-text-editor.editor.is-focused)
     -0:53.3 core:move-to-top (atom-text-editor.editor.is-focused)
     -0:52.0 core:close (atom-text-editor.editor.is-focused)
     -0:51.5 core:move-to-top (atom-text-editor.editor.is-focused)
  2x -0:51.2 core:close (atom-text-editor.editor.is-focused)
  2x -0:42.2 editor:newline (atom-text-editor.editor.is-focused)
  4x -0:40.9 core:backspace (atom-text-editor.editor.is-focused)
     -0:26.2 autocomplete-plus:confirm (atom-text-editor.editor.is-focused)
  6x -0:18.4 core:backspace (atom-text-editor.editor.is-focused)
     -0:08.2 editor:move-to-beginning-of-word (atom-text-editor.editor.is-focused)
     -0:07.6 core:move-left (atom-text-editor.editor.is-focused)
  2x -0:04.6 core:backspace (atom-text-editor.editor.is-focused)
     -0:04.1 core:move-right (atom-text-editor.editor.is-focused)
     -0:03.7 editor:move-to-end-of-screen-line (atom-text-editor.editor.is-focused)
     -0:03.0 editor:newline (atom-text-editor.editor.is-focused)
     -0:02.3 core:save (atom-text-editor.editor.is-focused)

Config

{
  "core": {
    "disabledPackages": [
      "autocomplete"
    ]
  },
  "Atom-Hack": {
    "typeCheckerCommand": "/usr/local/bin/hh_client"
  }
}

Installed Packages

# User
Atom-Hack, v3.5.3
autocomplete-html, v0.5.0
autocomplete-phpunit, v1.0.0
autocomplete-plus, v2.8.0
language-hack, v0.1.1
linter, v0.12.0

# Dev
No dev packages

Uncaught Error: Uncaught Promise Rejection

The error comes when I open a project with a .atom-hack config file. I don't know what is wrong with the connection, got RSA private key setup and working. Might be something wrong with my config file, but the read me instructions was pretty vague about it. Tried lots of different combinations in the config file.

Off-topic, side note: Would be great is this package worked with the "open-last-project" package. As the command atom.project.getPath() returns "undefined" at launch. Seems like "atom-hack" runs before the "open-last-project" package have finished loading.

Atom Version: 0.187.0
System: Mac OS X 10.10.2
Thrown From: Atom-Hack package, v3.3.7

Stack Trace

Uncaught Error: Uncaught Promise Rejection

At /Users/ecker/.atom/packages/Atom-Hack/node_modules/node-ssh/node_modules/a-promise/lib/build/main.js:100

Error: Uncaught Promise Rejection
    at Promise._prototypeProperties.reject.value (/Users/ecker/.atom/packages/Atom-Hack/node_modules/node-ssh/node_modules/a-promise/lib/build/main.js:100:17)
    at t.<anonymous> (/Users/ecker/.atom/packages/Atom-Hack/node_modules/node-ssh/lib/build/index.js:1:964)
    at Promise.<anonymous> (/Users/ecker/.atom/packages/Atom-Hack/node_modules/node-ssh/node_modules/a-promise/lib/build/main.js:16:18)

Commands

Config

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

Installed Packages

# User
Atom-Hack, v3.3.7
color-picker, v1.4.4
open-last-project, v0.3.4
remote-sync, v2.4.0

# Dev
No dev packages

Make it lightweight

This package takes atleast 500ms to 5000ms to load. It could be done in 11ms bro.

Add Remote SFTP File Upload

This will remove two limitations

  • We won't need to use WinSCP or rsync for non-shared-folders
  • We will be able to use hh_client instead of hh_server in remote env, which is way more efficient.

Single Error Multiple Times

hh_client gives one error multiple times in some situations, we must work around this ourselves by filtering duplicates.

Error in Nested Projects

There's an error while converting local paths to remote paths and slash is lost in the process.
It only happens when you use Remote Servers.

Autocomplete API is old, thus not working

With the latest update of AutoComplete-Plus, we no longer have to clone their repo to get the client side, they have a bundled client interface, that'll surely reduce the load time as well as lighten the dependencies!

Uncaught Error: could not find a .hhconfig file

[Enter steps to reproduce below:]

  1. ...
  2. ...

Atom Version: 0.187.0
System: Mac OS X 10.10.2
Thrown From: Atom-Hack package, v3.5.0

Stack Trace

Uncaught Error: could not find a .hhconfig file in /Volumes/Work/Git/php-extension-development-guides/book/chapt01 or any of its parent directories. Do you have a .hhconfig in your code's root directory?

At /Users/andot/.atom/packages/Atom-Hack/lib/typechecker.coffee:53

Error: could not find a .hhconfig file in /Volumes/Work/Git/php-extension-development-guides/book/chapt01 or any of its parent directories. Do you have a .hhconfig in your code's root directory?

  at /Users/andot/.atom/packages/Atom-Hack/lib/typechecker.coffee:53:23

Commands

     -0:25.9 editor:move-to-end-of-screen-line (atom-text-editor.editor.mini)
  2x -0:25.6 core:backspace (atom-text-editor.editor.mini)
     -0:23.7 core:confirm (atom-text-editor.editor.mini)
  2x -0:12.2 core:backspace (atom-text-editor.editor.is-focused)
     -0:10.2 editor:move-to-end-of-screen-line (atom-text-editor.editor.is-focused)
  6x -0:08.2 core:move-down (atom-text-editor.editor.is-focused)
     -0:06.6 editor:move-to-first-character-of-line (atom-text-editor.editor.is-focused)
  3x -0:06.4 core:delete (atom-text-editor.editor.is-focused)
     -0:04.4 editor:move-to-end-of-screen-line (atom-text-editor.editor.is-focused)
  4x -0:02.1 core:move-up (atom-text-editor.editor.is-focused)
     -0:00.9 core:save (atom-text-editor.editor.is-focused)

Config

{
  "core": {
    "themes": [
      "seti-ui",
      "seti-syntax"
    ]
  },
  "Atom-Hack": {
    "typeCheckerCommand": "/usr/local/bin/hh_client"
  }
}

Installed Packages

# User
Atom-Hack, v3.5.0
asciidoc-preview, v0.4.3
autocomplete-paths, v1.0.2
autocomplete-plus, v2.7.1
autocomplete-snippets, v1.2.0
coffee-refactor, v0.6.2
color-picker, v1.5.0
dart-tools, v0.8.9
dash, v1.1.0
go-plus, v3.3.5
js-refactor, v0.3.0
language-asciidoc, v0.11.1
language-asp, v0.1.0
language-csharp, v0.5.0
language-d, v3.1.2
language-dart, v0.1.1
language-erlang, v2.0.0
language-hack, v0.1.1
language-ilasm, v0.0.1
language-lua, v0.9.2
language-opencl, v0.1.0
language-pascal, v0.5.0
language-r, v0.1.1
language-svg, v0.8.0
language-x86, v0.1.0
linter, v0.12.0
linter-clang, v2.25.1
linter-cpplint, v0.1.4
linter-csslint, v0.0.11
linter-golint, v0.2.0
linter-htmlhint, v0.0.12
linter-jshint, v0.1.0
linter-lua, v0.1.5
linter-perl, v0.4.2
linter-php, v0.0.12
linter-pylint, v0.2.1
localization, v1.16.1
minimap, v4.7.5
refactor, v0.4.1
seti-syntax, v0.3.3
seti-ui, v0.6.3

# Dev
No dev packages

SSH Not Working on Windows

The SSH2-Connect gives

Uncaught TypeError: Cannot read property 'length' of undefined buffer.js:370

on windows when trying to establish a connection, thus it's unusable. We need to replace it with something cross-platform.

Uncaught SyntaxError: Unexpected end of input

Uncaught SyntaxError: Unexpected end of input

Atom Version: 0.158.0
System: linux 3.13.0-24-generic
Thrown From: Atom-Hack package, v3.2.0

Steps To Reproduce

  1. I accidentally remove a character, so I add it back and save it. Then the error showed up.

Stack Trace

At file:///usr/share/atom/resources/app/static/index.html?loadSettings=%7B%22bootstrapScript%22%3A%22%2Fusr%2Fshare%2Fatom%2Fresources%2Fapp%2Fsrc%2Fwindow-bootstrap.js%22%2C%22resourcePath%22%3A%22%2Fusr%2Fshare%2Fatom%2Fresources%2Fapp%22%2C%22devMode%22%3Afalse%2C%22safeMode%22%3Afalse%2C%22appVersion%22%3A%220.158.0%22%2C%22shellLoadTime%22%3A300%7D:1

SyntaxError: Unexpected end of input
  at Object.parse (native)
  at Linter.module.exports.Linter.setErrors (/home/thanhquanky/.atom/packages/Atom-Hack/lib/linter.coffee:38:25)
  at /home/thanhquanky/.atom/packages/Atom-Hack/lib/linter.coffee:22:12
  at ChildProcess.exithandler (child_process.js:752:5)
  at ChildProcess.emit (events.js:110:17)
  at maybeClose (child_process.js:1013:16)
  at Process.ChildProcess._handle.onexit (child_process.js:1085:5)

/cc @atom/core

Uncaught ReferenceError: o is not defined

[Enter steps to reproduce below:]

  1. Install Atom-Hack
  2. Create .atom-hack file
  3. Open Folder

OS : Windows 8.1 / Atom 0.187.0

Atom Version: 0.187.0
System: Unknown Windows Version
Thrown From: Atom-Hack package, v3.4.0

Stack Trace

Uncaught ReferenceError: o is not defined

At C:\Users\l\atom\packages\Atom-Hack\node_modules\node-ssh\lib\build\index.js:1

ReferenceError: o is not defined
  at new t (C:\Users\l\.atom\packages\Atom-Hack\node_modules\node-ssh\lib\build\index.js:1:330)
  at C:\Users\l\.atom\packages\Atom-Hack\lib\h.coffee:24:26
  at fs.js:337:14
  at FSReqWrap.oncomplete (fs.js:100:15)

Commands

Config

{
  "core": {
    "themes": [
      "atom-light-ui",
      "atom-light-syntax"
    ],
    "disabledPackages": [
      "ssh-config",
      "remote-ftp-master",
      "node-ftp-master",
      "ssh2-master"
    ]
  },
  "Atom-Hack": {}
}

Installed Packages

# User
Atom-Hack, v3.4.0

# Dev
No dev packages

Add Passphrase support

{
  "type":"remote",
  "host":"Remote Host's Domain or IP",
  "username":"Your Username",
  "port":22,
  "privateKey":"Full Path to Private Key",
  "remoteDir":"Directory on the remote server without the last slash",
  "passphrase": "passphrase here", <-- Add this
  "autoPush":false
}

Uncaught TypeError: Cannot read property 'getPath' of undefined

Uncaught TypeError: Cannot read property 'getPath' of undefined

Atom Version: 0.158.0
System: linux 3.18.1-031801-generic
Thrown From: Atom-Hack package, v2.0.0

Steps To Reproduce

  1. Activate the package
  2. Have some errors in the list
  3. Try to open settings page

Stack Trace

At /home/steel/.atom/packages/Atom-Hack/lib/linter.coffee:122

TypeError: Cannot read property 'getPath' of undefined
  at Linter.redraw (/home/steel/.atom/packages/Atom-Hack/lib/linter.coffee:122:51)
  at /home/steel/.atom/packages/Atom-Hack/lib/linter.coffee:51:12
  at Emitter.module.exports.Emitter.emit (/usr/share/atom/resources/app/node_modules/event-kit/lib/emitter.js:82:11)
  at /usr/share/atom/resources/app/src/pane-container.js:347:34
  at Emitter.module.exports.Emitter.emit (/usr/share/atom/resources/app/node_modules/event-kit/lib/emitter.js:82:11)
  at Pane.module.exports.Pane.setActiveItem (/usr/share/atom/resources/app/src/pane.js:250:22)
  at Pane.module.exports.Pane.activateItem (/usr/share/atom/resources/app/src/pane.js:314:21)
  at tabs-tab.<anonymous> (/usr/share/atom/resources/app/node_modules/tabs/lib/tab-bar-view.js:184:24)
  at space-pen-ul.jQuery.event.dispatch (/usr/share/atom/resources/app/node_modules/archive-view/node_modules/atom-space-pen-views/node_modules/space-pen/vendor/jquery.js:4676:9)
  at space-pen-ul.elemData.handle (/usr/share/atom/resources/app/node_modules/archive-view/node_modules/atom-space-pen-views/node_modules/space-pen/vendor/jquery.js:4360:46)

/cc @atom/core

Uncaught TypeError: undefined is not a function

[Enter steps to reproduce below:]

  1. PHP File => save

Atom Version: 0.169.0
System: linux 3.13.0-46-generic
Thrown From: Atom-Hack package, v3.3.6

Stack Trace

Uncaught TypeError: undefined is not a function

At /home/tim/.atom/packages/Atom-Hack/lib/typechecker.coffee:73

TypeError: undefined is not a function
  at Function.TypeChecker.OnScroll (/home/tim/.atom/packages/Atom-Hack/lib/typechecker.coffee:73:29)

Commands

  3x -1:36.2 core:move-up (atom-text-editor.editor.is-focused)
  2x -1:35.6 core:move-left (atom-text-editor.editor.is-focused)
  3x -1:34.1 core:move-down (atom-text-editor.editor.is-focused)
     -1:33.1 editor:newline (atom-text-editor.editor.is-focused)
     -1:07.3 core:move-right (atom-text-editor.editor.is-focused)
     -1:06.5 core:move-left (atom-text-editor.editor.is-focused)
     -1:06.2 editor:newline (atom-text-editor.editor.is-focused)
  3x -1:02.1 core:backspace (atom-text-editor.editor.is-focused)
  4x -0:59.4 core:move-left (atom-text-editor.editor.is-focused)
     -0:47.3 core:move-right (atom-text-editor.editor.is-focused)
     -0:44.4 core:save (atom-text-editor.editor.is-focused)
     -0:43.3 core:move-right (atom-text-editor.editor.is-focused)
     -0:43.0 core:move-down (atom-text-editor.editor.is-focused)
     -0:42.1 editor:newline (atom-text-editor.editor.is-focused)
  2x -0:30.2 core:save (atom-text-editor.editor.is-focused)
     -0:00.0 editor:newline (atom-text-editor.editor.is-focused)

Config

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

Installed Packages

# User
Atom-Hack, v3.3.6
language-latex, v0.4.1
linter-javac, v0.1.3
monokai, v0.12.0

# Dev
No dev packages

/cc @atom/core

Uncaught Error: This TextEditor has been destroyed

Uncaught Error: This TextEditor has been destroyed

Atom Version: 0.158.0
System: linux 3.16.0-23-generic
Thrown From: Atom-Hack package, v1.0.0

Steps To Reproduce

  1. Edit a file
  2. Delete that file
  3. Try to close the editor

Stack Trace

At /usr/share/atom/resources/app/src/display-buffer.js:989

Error: This TextEditor has been destroyed
  at DisplayBuffer.module.exports.DisplayBuffer.screenPositionForBufferPosition (/usr/share/atom/resources/app/src/display-buffer.js:989:15)
  at Marker.module.exports.Marker.getHeadScreenPosition (/usr/share/atom/resources/app/src/marker.js:211:33)
  at new Marker (/usr/share/atom/resources/app/src/marker.js:45:41)
  at DisplayBuffer.module.exports.DisplayBuffer.getMarker (/usr/share/atom/resources/app/src/display-buffer.js:1224:20)
  at DisplayBuffer.module.exports.DisplayBuffer.markBufferRange (/usr/share/atom/resources/app/src/display-buffer.js:1256:19)
  at TextEditor.module.exports.TextEditor.markBufferRange (/usr/share/atom/resources/app/src/text-editor.js:1251:59)
  at Linter.markErrors (/home/steel/.atom/packages/Atom-Hack/lib/linter.coffee:129:25)
  at /home/steel/.atom/packages/Atom-Hack/lib/linter.coffee:21:12
  at Emitter.module.exports.Emitter.emit (/usr/share/atom/resources/app/node_modules/event-kit/lib/emitter.js:82:11)
  at /usr/share/atom/resources/app/src/pane-container.js:347:34
  at Emitter.module.exports.Emitter.emit (/usr/share/atom/resources/app/node_modules/event-kit/lib/emitter.js:82:11)
  at Pane.module.exports.Pane.setActiveItem (/usr/share/atom/resources/app/src/pane.js:250:22)
  at Pane.module.exports.Pane.activateItem (/usr/share/atom/resources/app/src/pane.js:314:21)
  at tabs-tab.<anonymous> (/usr/share/atom/resources/app/node_modules/tabs/lib/tab-bar-view.js:184:24)
  at space-pen-ul.jQuery.event.dispatch (/usr/share/atom/resources/app/node_modules/archive-view/node_modules/atom-space-pen-views/node_modules/space-pen/vendor/jquery.js:4676:9)
  at space-pen-ul.elemData.handle (/usr/share/atom/resources/app/node_modules/archive-view/node_modules/atom-space-pen-views/node_modules/space-pen/vendor/jquery.js:4360:46)

Autocomplete can be improved

Autocomplete works great till

$postAutho

but when we reach the :: or -> part, the autocomplete sorting doesn't work any longer. For example

$postAuthor->nameDispla

we must provide an alternative sorting method as well for the humanity to survive!

Uncaught Error: could not find a .hhconfig file

[Enter steps to reproduce below:]

  1. ...
  2. ...

Atom Version: 0.187.0
System: linux 3.16.0-31-generic
Thrown From: Atom-Hack package, v3.4.0

Stack Trace

Uncaught Error: could not find a .hhconfig file in /home/samuel/dev/projects/master-thesis/wiki/master-thesis.wiki or any of its parent directories. Do you have a .hhconfig in your code's root directory?

At /home/samuel/.atom/packages/Atom-Hack/lib/typechecker.coffee:53

Error: could not find a .hhconfig file in /home/samuel/dev/projects/master-thesis/wiki/master-thesis.wiki or any of its parent directories. Do you have a .hhconfig in your code's root directory?

  at /home/samuel/.atom/packages/Atom-Hack/lib/typechecker.coffee:53:23

Commands

  7x -0:36.1 editor:select-to-beginning-of-word (atom-text-editor.editor)
     -0:32.3 core:paste (atom-text-editor.editor)
     -0:07.0 editor:select-to-beginning-of-word (atom-text-editor.editor)
     -0:06.7 core:copy (atom-text-editor.editor)
  3x -0:06.4 core:move-down (atom-text-editor.editor)
     -0:05.3 core:move-left (atom-text-editor.editor)
     -0:05.1 editor:select-to-end-of-word (atom-text-editor.editor)
     -0:04.7 core:paste (atom-text-editor.editor)
     -0:04.2 core:save (atom-text-editor.editor)

Config

{}

Installed Packages

# User
Atom-Hack, v3.4.0
language-coffee-script-angular, v2.2.0
language-hack, v0.1.1
language-nesc, v0.2.0
minimap, v4.6.0

# Dev
No dev packages

Use Atom's Per Project Setting

Currently, the user has to create a .atom-hack file in the Project Root and fill it with atom-hack configuration.
Since Atom folks are working on per project settings, so It'd be a good idea to use theirs.

Blocked By: atom/atom#5168

Paths in errors are too long

We should only have Project-relative path.

/var/www/MyProject/app/api/main/index.hh

becomes

app/api/main/index.hh

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.