mirror of
https://github.com/wavetermdev/waveterm.git
synced 2024-12-22 16:48:23 +01:00
An open-source, cross-platform terminal for seamless workflows
3c3eec73aa
* working on re-init when you create a tab. some refactoring of existing reinit to make the messaging clearer. auto-connect, etc. * working to remove the 'default' shell states out of MShellProc. each tab should have its own state that gets set on open. * refactor newtab settings into individual components (and move to a new file) * more refactoring of tab settings -- use same control in settings and newtab * have screensettings use the same newtab settings components * use same conn dropdown, fix classes, update some of the confirm messages to be less confusing (replace screen with tab) * force a cr on a new tab to initialize state in a new line. poc right now, need to add to new workspace workflow as well * small fixups * remove nohist from GetRawStr, make const * update hover behavior for tabs * fix interaction between change remote dropdown, cmdinput, error handling, and selecting a remote * only switch screen remote if the activemainview is session (new remote flow). don't switch it if we're on the connections page which is confusing. also make it interactive * fix wording on tos modal * allow empty workspaces. also allow the last workspace to be deleted. (prep for new startup sequence where we initialize the first session after tos modal) * add some dead code that might come in use later (when we change how we show connection in cmdinput) * working a cople different angles. new settings tab-pulldown (likely orphaned). and then allowing null activeScreen and null activeSession in workspaceview (show appropriate messages, and give buttons to create new tabs/workspaces). prep for new startup flow * don't call initActiveShells anymore. also call ensureWorkspace() on TOS close * trying to use new pulldown screen settings * experiment with an escape keybinding * working on tab settings close triggers * close tab settings on tab switch * small updates to tos popup, reorder, update button text/size, small wording updates * when deleting a screen, send SIGHUP to all running commands * not sure how this happened, lineid should not be passed to setLineFocus * remove context timeouts for ReInit (it is now interactive, so it gets canceled like a normal command -- via ^C, and should not timeout on its own) * deal with screen/session tombstones updates (ignore to quite warning) * remove defaultfestate from remote * fix issue with removing default ris * remove dead code * open the settings pulldown for new screens * update prompt to show when the shell is still initializing (or if it failed) * switch buttons to use wave button class, update messages, and add warning for no shell state * all an override of rptr for dyncmds. needed for the 'connect' command (we need to set the rptr to the *new* connection rather than the old one) * remove old commented out code |
||
---|---|---|
.github | ||
.testdriver | ||
.vscode | ||
acknowledgements | ||
assets | ||
buildres | ||
housekeeping | ||
public | ||
src | ||
waveshell | ||
wavesrv | ||
webpack | ||
.gitignore | ||
.prettierignore | ||
.prettierrc.json | ||
build-linux.md | ||
BUILD.md | ||
CODE_OF_CONDUCT.md | ||
CONTRIBUTING.md | ||
electron-builder.config.js | ||
go.work | ||
go.work.sum | ||
LICENSE | ||
NOTICE | ||
package.json | ||
README.md | ||
scripthaus.md | ||
SECURITY.md | ||
tsconfig.json | ||
version.js | ||
webpack.config.js | ||
yarn.lock |
Wave Terminal
Wave is an open-source AI-native terminal built for seamless workflows.
Wave isn't just another terminal emulator; it's a rethink on how terminals are built. Wave combines command line with the power of the open web to help veteran CLI users and new developers alike.
- Inline renderers to cut down on context switching. Render code, images, markdown, and CSV files without ever leaving the terminal.
- Persistent sessions that can restore state across network disconnections and reboots
- Searchable contextual command history across all remote sessions (saved locally)
- Workspaces, tabs, and command blocks to keep you organized
- CodeEdit, to edit local and remote files with a VSCode-like inline editor
- AI Integration with ChatGPT (or ChatGPT compatible APIs) to help write commands and get answers inline
Installation
Wave Terminal works with MacOS and Linux.
Install Wave Terminal from: www.waveterm.dev/download
Also available as a homebrew cask for MacOS:
brew install --cask wave
Links
- Homepage — https://www.waveterm.dev
- Download Page — https://www.waveterm.dev/download
- Documentation — https://docs.waveterm.dev/
- Blog — https://blog.waveterm.dev/
- Quick Start Guide — https://docs.waveterm.dev/quickstart/
- Discord Community — https://discord.gg/XfvZ334gwU
Building from Source
Contributing
Wave uses Github Issues for issue tracking.
Find more information in our Contributions Guide, which includes: