13 comments

[ 10.7 ms ] story [ 942 ms ] thread
Interesting framework. I like the fairly declarative style. The approach to writing terminal applications which interact with shell utilities seems a lot like certain Emacs applications, such as dired.
I am intrigued by your comparison. Does Emacs also provide a declarative UI framework, or do you have to work with controls yourself (like gtk or qt)?
Emacs Lisp is not a declarative language, of course, but this kind of declarative logic - regular expressions which parse shell command output and apply hidden text properties or keybindings - is common in Emacs. dired does it, as does magit, and all modes based on comint, as well as just normal M-x compile.
For (neo)vim there's (denite) unite, which based on Helm.
Helm/unite/denite are not the same thing as what I am talking about.
I do believe that the core idea of emacs textual "application" dired and the likes are similar to this.

A text structure, some regex, some keybindings

I'm trying the example from the Readme, but running:

  $ rat --mode files --cmd 'ls -al'
..doesn't actually seem to be reading my .ratrc file. The command behaves the same whether I have a .ratrc or not. Is anybody else able to hit enter to preview a file? I'm on a Mac.
I think I'm in love. Wrote a tiny k8s UI to do frequent tasks in 10 minutes, including learning curve.