Commit graph

45 commits

Author SHA1 Message Date
Razzi Abuissa
51db83c581 Show actual error message when loading plugin fails (#3083) 2018-09-23 18:06:26 +02:00
CHaBou
bc6101e98f
Fix module hijacking (#3067)
Regression was introduced by #2866. Release version of Hyper failed to start.
2018-06-11 08:43:57 +02:00
Timo Welde
f75895a176 Fix plugin module hijacking on main process (#2866)
Fixes some plugin loading (like hyperline)
2018-05-15 15:58:36 +02:00
Sonny
f64e3e0204 Adding ability to send error object to notify() (#2955) 2018-05-02 10:10:44 +02:00
David Calhoun
bbb1caefb4 Always notify watchers of plugin updates (#2508)
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.
2018-01-04 12:45:28 +01:00
CHaBou
81709073cf
Keymaps are now updated without restarting (#2455)
* Reload keymaps without restarting

* Reattach key listeners when config have changed
2017-11-15 00:55:21 +01:00
CHaBou
3a3ee013f7
Enhance plugin installation (#2440) 2017-11-08 22:24:15 +01:00
CHaBou
2af575c3c0 Multiple keymaps and mousetrap (#2412)
* 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
2017-11-02 19:51:18 -07:00
CHaBou
e2d73702cd Fix plugin requiring to authorize @ in config (#2312)
Fix #2311
2017-10-01 06:08:42 +02:00
CHaBou
c02c2526ac Fix decorated config with default colors (#2242)
Fix decorated config with default colors
2017-09-20 23:32:32 +02:00
CHaBou
9bd410f1e4
Make Hyper more robust against plugins
* Add some try/catch
* Support React@16 error boundaries for render decorated components
2017-09-13 22:55:54 +02:00
CHaBou
1155bb54b1
Add prettier and resolve all lint errors 2017-09-10 16:04:13 +02:00
CHaBou
df68daaaba
Translate automatically hterm css class in config
Change css class name in config after plugin decoration for partial backward compatibility
2017-09-10 13:46:59 +02:00
CHaBou
a9bb9b697b
Add depreaction warning for hterm css
* Notify user when its config conatins deprecated CSS classes
* Add warning in devtools console about plugins using deprecated classes
2017-09-10 11:35:39 +02:00
Philippe Potvin
300f7cbde4 Plugins revamp (#2108)
* extentions file

* plugs folder creation
2017-08-21 20:07:50 -04:00
Adam Stankiewicz
cd1b8cd064 Ship yarn with hyper (#381) 2017-08-14 09:42:28 +02:00
CHaBou
db35faa431 Show plugin (name and version) loaded (#1826)
* Print plugin name and version in devtools
* Add plugins informations in About dialog
2017-06-19 23:02:53 +02:00
Philippe Potvin
93b2229ff5 Implements Commands Key mapping (#1876)
Keymaps part 2
2017-06-02 20:03:47 -04:00
Thomas Schoffelen
709fc03933 Fixed a bug with installing plugins (#1896)
Where NPM@5 whould rely on package-lock.json and not actually install new entries in package.json.
2017-06-02 15:52:38 +02:00
CHaBou
3fb2e04eae Fix decorators check and documentation (#1601) 2017-03-05 18:19:28 -05:00
OJ Kwon
3df8274bf0 Falls back to default shell to install plugin on win32 (#1565)
- related to #1480
2017-02-27 15:09:22 -08:00
Henrik
63ab33daa9 fix undefined fish shell match (#1516)
* fix undefined fish shell match

* check for string
2017-02-16 14:23:57 -03:00
Josh Adams
993b8f6833 Add support for the fish shell (#1181)
* 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
2017-01-21 17:03:58 -02:00
chabou
0c71863560 Use local config file in dev. Fix #903 (#904)
* Use local config file in dev

* Fix typo

* Reuse path variable to compose localPath

* Fix lint errors
2017-01-04 20:05:19 -05:00
Dylan Frankland
a5b457ed13 Update old electron target engine for dependencies (#970)
This fixes dependencies of Hyper that build based on the engine being
used (`nodegit` for example).
2016-11-19 14:38:27 -02:00
Matheus Fernandes
9c90e19760 Add Windows support and first-class Linux support (#946)
* `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
2016-11-11 15:18:04 -02:00
Vladimir Starkov
41d54d58de add onRendererWindow, because it actually available. check ./lib/utils/plugins.js:193 (#924) 2016-10-29 13:15:46 +02:00
Vladimir Starkov
698cdb0e31 log plugins' errors in Electron console (#923)
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.
2016-10-23 09:42:58 -02:00
Martin Ek
7a08b1dc3e Fix xo 0.17 errors and use root xo config for app (#859)
* Use parent xo config in app/

* lint: Fix xo 0.17 errors

* app: add missing semver dependency
2016-10-12 20:35:44 -05:00
Martin Ek
fe91b4c76e Refactor plugin retrieval (#695)
* plugins: refactor props decorators

* plugins: add missing plugin functions to notifier

* plugins: refactor reducer decorators

* bug: make sure reduceTermGroups are added from plugins
2016-10-08 14:38:47 -07:00
Daniel Bayerlein
aa285a8bc6 Cleanup (rename HyperTerm to Hyper) (#812)
* Rename container

* Rename hyper container itself

* Add HYPER_DEBUG for debug

* Rename HyperTerm to Hyper

* Rename HyperTerm connector and extension

* Add HyperTerm state and dispatch for backwards compatibility
2016-10-08 09:26:07 -07:00
Guillermo Rauch
9f771e839f api updates 2016-10-06 08:28:43 -07:00
Matheus Fernandes
1866104d03 [WIP] Use XO instead of Standard (#723)
* 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
2016-09-21 16:27:11 +02:00
Brian Douglas
9a0316dd59 issue-656/config-values-arent-scoped (#669)
* issue-656/scoped plugins to hyperterm.plugins

* Scoping plugin versions to hyperterm
2016-08-29 16:38:05 +02:00
Matheus Fernandes
f175268912 Add the very first test 🎉 (#549)
* Add syntactic support for tags - #412
* Add the very first test 🎉
* Simplify multiple assertions into one
2016-08-03 16:39:58 -03:00
Albin Ekblom
3198a90823 Use configured shell to update plugins (#447)
* Use configured shell to update plugins

* Make it more compatible

* Use shell-env@0.2.0
2016-07-30 20:51:09 +02:00
Darin Morrison
86416cebdf Update dependencies (#390)
⬆️ electron-builder@5.16.0
⬆️ electron-prebuilt@1.3.0
⬆️ husky@0.11.6
2016-07-26 16:39:11 -07:00
Guillermo Rauch
05b491f62c revert --ignore-scripts 2016-07-26 11:01:09 -07:00
Guillermo Rauch
cb84548623 for now, pin npm_config_target version as it falls outside of the distribution package 2016-07-25 10:30:20 -07:00
Martin Ek
8c53d25b71 Add decorateEnv to the extensions API (#370)
* plugins: add decorateEnv to the extensions API

* session: replace - with _ in LANG

* plugins: refactor the at-least-one extension check
2016-07-24 11:03:24 -07:00
Guillermo Rauch
aaed99abac Reorg (#386)
* 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`
2016-07-24 10:59:21 -07:00
Guillermo Rauch
477e40e433 refactor 2016-07-13 13:45:14 -07:00
Guillermo Rauch
d6a2ea0019 cleanup 2016-07-09 10:09:32 -07:00
Guillermo Rauch
4d99089afb improve decoration with persistent state with react-proxy 2016-07-08 14:26:38 -07:00
Guillermo Rauch
9f635021c9 first pass at plugins system 2016-07-07 17:16:44 -07:00