Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

What applications are based on this package? #50

Open
laurent22 opened this issue Sep 24, 2017 · 9 comments
Open

What applications are based on this package? #50

laurent22 opened this issue Sep 24, 2017 · 9 comments

Comments

@laurent22
Copy link
Contributor

I've just had a look at the package and I'm really impressed by it, the documentation, examples and tutorials are also excellent.

I'm curious thought, what was it initially created for? Is it to support an existing application? By the way are there any well know application based on this package (perhaps there could be a list in the readme file)?

@cronvel
Copy link
Owner

cronvel commented Sep 25, 2017

Hi,

You can have a look to the dependents list at npmjs.com. Also I suspect private usage of the lib, since it get a lot of downloads (on 09/25 npm indicates 50k downloads for the last month), and got quite few stars on Github.

I created it initially for my own needs, but I added many features coming from user's requests.

I use it in a lot of projects, here some of my public projects good enough for the show:

  • Spellcast!: a scenario engine. The terminal client is made with Terminal Kit, and supports the mouse.
  • http-requester: an REPL that can perform http(s) requests, great for debugging servers
  • tea-time: a clone of Mocha with few interesting features
  • ngsh: a shell with powershell features in mind (still a WIP)
  • tview: an image viewer for the terminal

I had started working on a text-editor too (ne), but it's a bit too alpha. You can still load/edit/save file and there is even syntax highilighting for Javascript, but the colorization is not optimized ATM (it parses the full file again every time there is a change, so big files can lag a bit). I also started working on a rogue-like, but the project is dead.

Also I would be glad if peoples start reporting great things done with my lib! ;)

@laurent22
Copy link
Contributor Author

Thanks, yes looks like there's a lot of cool stuff being done with it, your Spellcast! engine being probably the biggest. I've been trying various terminal libs for my note-taking application, and terminal-kit looks the best option so I'll most likely use it.

@laurent22
Copy link
Contributor Author

Also I would be glad if peoples start reporting great things done with my lib! ;)

For information I've just released my note-taking app with a CLI client based on terminal-kit - https://github.com/laurent22/joplin Had various bug reports on this app but none related to terminal-kit - terminal compatibility in general seems to be very good, so thanks a lot for your work!

@cronvel
Copy link
Owner

cronvel commented Dec 4, 2017

@laurent22 It looks great!

Just a little bug I found: the app should "show the cursor" (term.hideCursor( false )) before spawning the editor, editors which do not do so at startup will not have any cursor.

@laurent22
Copy link
Contributor Author

Thanks, I'll look into it! By the way, is there a standard way to save/restore the full terminal state? For example, when opening vim, I'd save everything and when closing it, I'd restore it? I couldn't quite find a method for this.

@cronvel
Copy link
Owner

cronvel commented Dec 6, 2017

@laurent22 There is no such terminal capability. Terminal capabilities haven't evolved for decades...

@octoshrimpy
Copy link

@cronvel there is such a capability! it's called an alternate buffer. not all terms have it, but those that do make it really nice to use.

@cronvel
Copy link
Owner

cronvel commented Nov 23, 2022

@octoshrimpy So called alternate buffer are already supported by this lib since day 1, but that does not permit save/restore. You just have 2 separated buffers that doesn't interact with each other. You would be able to save/restore if you would be able to copy one buffer into the other, but that's not possible.

Beside, not all terminal supports alternate buffer, and there are other caveats.

The only common use of alternate buffer is to switch to it before launching a full-screen-like terminal application, so when you exit you can cleanly restore your bash session (or whatever shell you are using).

@octoshrimpy
Copy link

I think I understand what Laurent is asking now, and it's something akin to tmux-resurrect/tmux-continuum. the only way to do that would be to save the current state of the app to a file, and load it up upon app re-open. it's something I wish micro editor had, and why I'm using termkit to make my own modeless editor.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants