During plugin updates, each `plugin.onUnload` is invoked regardless of
whether the plugin changed. This commit ensures that each `plugin.onApp`
is invoked once all plugins have been updated. Fixes#2415.
* WIP
* WIP
* Wip
* Wip
* wip
* Refactor without normalize and plugin
* Replace extendKeymaps by decorateKeymaps
* WIP
* Add mousetrap
* Add first command over rpc
* More commands
* Add all commands
* Begin to hook commands
* Working multiple keymaps
* Use redux action to trigger command
* Use forked version of Mousetrap to capture key events
* Fix lint
* Add command in redux action to debug purpose
* ExecCommand from menu click
* Remove unused files
* Fix xterm should ignore catched events
* Re-enable IntelliSense checking
* Remove unused runes dep
* Add support for the fish shell
Fixes#1142
The fish shell is not POSIX-compliant. As a result, the installation
command's use of `&&` caused `updatePlugins` to fail, erroneously
claiming there would be details in `~/.hyper_plugins/npm-debug.log`.
They of course weren't there because the command it tried to run was an
invalid command. I've added an object to choose the install command to
run based on the shell you're in, and a very basic test to determine if
we're in fish. Most shells should be able to be handled by the
'default' key, so for now it just checks to see if it's fish by doing a
regex on the configured `shell` option.
* Rename default -> posix
* `child_pty` => `pty.js`
* Create a frameless window on Windows and Linux
* Add a brand new UI for Linux and Windows 💅
* [Windows] Fix plugin installation
* [Windows] Fix the `build` script
* [Windows] Add a bigger `icon.ico`
* [Mac] Add `WebKitAppRegion: drag` when running on macOS
* Fix code style 🤔
* Add `appveyor.yml`
* Fix code style (again)
* [Windows] Fix AppVeyor's `install` script
* [Windows] Try a new AppVeyor config
* [Windows] Set the binary path so Spectron can run the tests
* [Windows] Try to build on x64
* Try again to build on x64
* Try one more time 😩
* Throw an error to indicate that `pty.js` was built incorrectly
* [Win/Linux] Add `display: hidden` to <Tabs /> if tabs.length === 1
* [Win/Linux] Reorganize SVGs – via @CodeTheory
* [Win/Linux] Fix the hamburger menu height
* Make the SVGs look better with `shape-rendering: crispEdges;`
* [Win/Linux] Add config options for the window controls and the 🍔 menu
* Add `electron-squirrel-startup` dependency
* [Win] Handle Squirrel commands
* [Win/Linux] Fix default color for the 🍔 and window controls – via @CodeTheory
* [Win/Linux] Add some padding - via @CodeTheory
* [Win/Linux] Add hover states – via @CodeTheory
* [Win] Fix empty window/tab titles
* [Win] Fix opening Preferences (#978)
* [Win] Fix opening Preferences
* Update ui.js
* Update ui.js
* Enhance messages and default editor
* [Win] Add dependency instructions to the README.md [skip ci]
* Fix code style
* [Win/Linux] Check the number of open windows before quitting the app
Default `err.message` notification is not helpful,
because it lacks stack and context.
it doesnt hurt for end users to add `console.error(err)`,
because they arent gonna see it. Though, as far as `console.error`
is being logged in Electron console, developers will get
enough information to identify problems with plugin they are developing.
* Bump `eslint-plugin-react`
* Add `eslint-config-xo-react`
* Add XO
* Remove eslint-related dependencies, add XO config and use XO as the linter
* Code style: Standard => XO ✨
* Use xo property to ignore files
* Fix remaining errors
* Step 1: move electorn into `app/`.
This is to comply with the suggested directory format of
`electron-builder`: https://github.com/electron-userland/electron-builder#two-packagejson-structure
* Step 2: add build directory with icon files for mac / windows
* Step 3: move all development (web) assets into main directory
* Step 4: add `build` namespace to dev `package.json`
* Step 5: move all dev dependencies into dev file and get rid of
old electron packagers in favor of `eletorn-builder`
* Step 6: target build inside `app/` as everything else is excluded at build time
* Step 7: remove old stuff!
* Step 8: update README
* turn off asar for `child_pty`