merlin
Mosh
Our great sponsors
merlin | Mosh | |
---|---|---|
12 | 152 | |
1,543 | 12,199 | |
0.4% | 0.6% | |
8.9 | 4.6 | |
6 days ago | 18 days ago | |
OCaml | C++ | |
MIT License | GNU General Public License v3.0 only |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
merlin
- Merlin: Context sensitive completion for OCaml in Vim and Emacs
-
Hacker News top posts: May 7, 2022
Merlin: Context sensitive completion for OCaml in Vim and Emacs\ (0 comments)
-
Hoogle for Rust?
Instead of searching functions based on their type structure (like Hoogle), you could search for functions that "consume"/"produce" values of given types (like OCaml's Merlin). I think Rust already computes variance of type constructors, so such a tool just would have to obtain this information.
-
Dot completion
However, after posting this question I stumbled upon this Github issue where they say it isn't supposed to work out of the box and you're supposed to bind a key to it by editing your .emacs file. Turns out the default .emacs file binds auto-complete to "backtab" which means Shift+Tab but that didn't work. I did eventually discover that I can get some kind of completion by binding backtab to completion-at-point like this:
-
Advice/best practice/arhitecture pattern for building language with LSP in mind?
Self-advertising: I partcipated to the writing of Merlin: A Language Server for OCaml (Experience Report), which explains the overall design of Merlin, a language server for OCaml. A key idea of Merlin are that classic lexing-parsing-typing pipelines can easily be adapted to be incremental for a Language Server, especially when they are using immutable data structures.
- merlin: Context sensitive completion for OCaml in Vim and Emacs
Mosh
-
The IDEs we had 30 years ago and we lost
If you haven’t already, and I know this doesn’t hold up for GUI emacs or vim, but consider running them through https://mosh.org/
- mosh: Mobile Shell
-
Write Your Own Terminal
FWIW, I wouldn't try to parse escape sequences "directly" from the input bytestream -- it's easy to end up with annoying bugs. Longer-term it's probably better to separate the logic e.g.:
- First step (for a UTF-8-input terminal emulator) means "lexing" the input bytestream as UTF-8 into a stream of USVs, which involves some subtleties (https://github.com/mobile-shell/mosh/blob/master/src/termina...).
- Second step is to run the DEC parser/FSM logic on the sequence of USVs, which is independent of the escape sequences (https://vt100.net/emu/dec_ansi_parser ; https://github.com/mobile-shell/mosh/blob/master/src/termina...).
- And then the third step is for the terminal to execute the "dispatch"/"execute"/etc. actions coming from the FSM, which is where the escape sequences and control chars get implemented (https://github.com/mobile-shell/mosh/blob/master/src/termina...).
Without this separation, it's easier to end up with bugs where, e.g., a UTF-8 sequence or an ANSI escape sequence is treated differently when it's split between multiple read() calls vs. all in one call.
-
Typing Fast Is About Latency, Not Throughput
Btw, you can use mosh to hide the latency of SSH. https://mosh.org/
-
How do I enable new pane/tab with CWD while using mosh?
I've been using Kitty's SSH features for as long as I can remember but I recently setup Mosh and I really like how it doesn't drop connections and supports roaming.
-
Buying an iPad Pro for coding was a mistake
I am surprised many people write about ssh into a server. Mosh[1] feels more responsive and it also supports longer sessions.
[1] - https://mosh.org/
-
Prompt2, heads up; they are readying up another version Prompt2 has been abandoned by devs since iOS 14 / 1y ago in a crashing state - Now they want to make another money-heist cash-grab from its users by forcing them to upgrade one of the most expensive apps of all time.
Also they support Mosh which I install on my servers. It's way better than plain ssh when you're on mobile networks and wifi, especially with connections that are unreliable or bandwidth-constrained.
- Zellij New WASM Plugin System
-
networkingStarterPack
I’ve recently been experimenting with MoSH (Mobile Shell). Basically think SSH but with UDP - so more resilient to shoddy network conditions, roaming access points, etc.
-
How can I get a lisp image to run in the background?
If it is not for production (e.g. running as a daemon or a server) and you only care about the development, another ad-hoc way is using screen/tmus-like software incl. byobu, and combine it with mosh.
What are some alternatives?
hoogle - Haskell API search engine
Eternal Terminal - Re-Connectable secure remote shell
ocamlformat - Auto-formatter for OCaml code
tmux - tmux source code
ocaml-lsp - OCaml Language Server Protocol implementation
Gravitational Teleport - The easiest, and most secure way to access and protect all of your infrastructure.
rust-prolog - Rust implementation of prolog based on miniprolog: http://andrej.com/plzoo/html/miniprolog.html
Advanced SSH config - :computer: make your ssh client smarter
TatSu - 竜 TatSu generates Python parsers from grammars in a variation of EBNF
Code-Server - VS Code in the browser
bisect_ppx - Code coverage for OCaml and ReScript
PowerShell - PowerShell for every system!