Hacker News new | past | comments | ask | show | jobs | submit login
Rat: Compose shell commands to build interactive terminal applications (github.com/ericfreese)
120 points by agumonkey on Oct 10, 2017 | hide | past | favorite | 13 comments



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.


Also on a Mac. File preview works when .ratrc is present, otherwise just a file list and selector. Are you sure it's at ~/.config/rat/.ratrc ?


If it is in $XDG_CONFIG_HOME, why name the file with a leading dot? To me, that's a bit confusing.



Ah, that was my mistake. Thanks!


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 think I'm in love. Wrote a tiny k8s UI to do frequent tasks in 10 minutes, including learning curve.


And here I thought this would be about a rat issuing shell commands.

http://l7.alamy.com/zooms/67715421b1524d9eba22ebc217d99967/f...




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: