-
-
Notifications
You must be signed in to change notification settings - Fork 236
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
Your inputs for a cookbook #152
Comments
I'm a big fan of
|
This should be a default! |
@kakulukia the reason why it's hard to make it a default:
|
hmmm .. agreed .. good point .. what about using arrow keys for editing as long as there is something to edit and use em for navigation if otherwise? even right arrow to view file? I will definitely watch this project as it might replace three tools im currently using: ncdu, nnn, fd BUT: br > edit file in vim > use :q to quit vim > also closing broot 😭 |
I need also to give hints at how to do the br configuration by hand for very specific configurations.
|
@Canop similar to @kakulukia reply. I've set Enter as the default of editing it via vim/neovim. It would be cool that if I quit it I go back to broot and traverse from there. Or maybe even better is a broot plugin for vim/neovim? like how netrw is integrated via vim vinegar? Anyway here's what I've added so far:
|
I note this one: overloading |
This is pretty much what |
I like to have the PS1 prompt indicating when the shell is invoked by broot. For this I have added to the br function in the launcher script as first line: In my .bashrc I have added after my normal prompt settings: With this |
Oh that's cool |
Thank you, but broot is much cooler. Thank you much for sharing this wonderfull program. |
Is there a way to configure |
Not anymore. That was the initial behaviour, and I removed it because most people found it confusing. If you think it could be better, create an issue, I can put it back behind a configuration flag. |
Awesome. Issue created #380 |
EDIT: This is outdated. After I figure out a couple issues, I'll post a comprehensive update. OriginalEDIT: FWIW here's how I integrate this with Zsh:
br () { # [<broot-opt>...]
emulate -L zsh
local cmdfile=$(mktemp)
trap "rm ${(q-)cmdfile}" EXIT INT QUIT
if { broot --outcmd "$cmdfile" $@ } {
if [[ -r $cmdfile ]] eval "$(<$cmdfile)"
} else {
return
}
}
bindkey -s '^b' 'br\n' # ctrl+b
.zle_insert-path-broot () {
echoti rmkx
local location_space="${(q-)$(broot --color yes --conf "${HOME}/.config/broot/select.hjson;${HOME}/.config/broot/conf.hjson")} "
BUFFER+=$location_space
(( CURSOR+=$#location_space ))
}
zle -N .zle_insert-path-broot
bindkey '^[[1;7B' .zle_insert-path-broot # ctrl+alt+down
.zle_redraw-prompt () {
# Credit: romkatv/z4h
emulate -L zsh
for 1 ( chpwd $chpwd_functions precmd $precmd_functions ) {
if (( $+functions[$1] )) $1 &>/dev/null
}
zle .reset-prompt
zle -R
}
.zle_cd-broot () {
echoti rmkx
cd "$(broot --color yes --conf "${HOME}/.config/broot/select-folder.hjson;${HOME}/.config/broot/conf.hjson")"
.zle_redraw-prompt
}
zle -N .zle_cd-broot
bindkey '^[[1;3B' .zle_cd-broot # alt+down
{
default_flags: ig
verbs: [
{
internal: ":print_path"
key: "enter"
leave_broot: true
}
]
}
{
default_flags: igf
verbs: [
{
apply_to: "directory"
internal: ":print_path"
key: "enter"
leave_broot: true
}
{
apply_to: "file"
cmd: ":focus;:print_path"
key: "enter"
leave_broot: true
}
]
} |
@AndydeCleyre I hadn't thought about this use of the imports. Can you please create an issue asking how to deal with this |
EDIT: This is outdated. After I figure out a couple issues, I'll post a comprehensive update. OriginalOne small thing is I like {
apply_to: "file"
cmd: ":focus;:cd"
shortcut: cd
} EDIT: I think this one has been triggering an infinite loop lately but it used to work. |
@AndydeCleyre Is your
|
This comment was marked as off-topic.
This comment was marked as off-topic.
No luck... :\ I've also tried with I should mention that I had the same problem with a simpler version I started hacking on which simply calls broot from a widget. Mysterious, and a real bummer because this setup would be amaaazing. Anyway, thanks for your help. |
This comment was marked as off-topic.
This comment was marked as off-topic.
I'm not familiar with podman (or containers generally). Should I be able to just paste this into a terminal after installing? I get |
For anyone else who happens to land here, the problem is specific to macos (I'm running 12.3.1) and is not specific to broot. It occurs with many but not all other TUI apps. If anyone knows what's going on here, I'd appreciate any pointers. I haven't gotten anywhere with google (there's not a whole on ZLE widgets in general....) |
This comment was marked as off-topic.
This comment was marked as off-topic.
Even when I try setting that verb for |
Alright, aside from the above comment, I've settled my broot+zsh configs for now, at repos dotfiles-broot and dotfiles-zsh (mostly @fredcallaway FYI I added a bunch of complexity to |
How would you move the selection caret in the input ? |
99-100% of the time my cursor is already as far right as can be. So I'd be happy if I could get |
Right now, the left and right keys aren't evaluated to verbs when the input isn't empty. I could change this to forbid the left key when the caret isn't at left, and the right key when the caret isn't at right. |
@AndydeCleyre done in main. Will be part of the next release |
I think that fzf-like files and folders selection in Broot are a must in the web and the wiki (and maybe even installable like Maybe https://github.com/AndydeCleyre/dotfiles-zsh/blob/main/broot.zsh is too opinionated, but having a shortcut to search files and another one for directories is really useful, and another one to temporally show Broot without returning nothing is also useful. Thanks for this great project! |
Those sets of shortcut deserve probably more than just an entry in broot's doc: blog posts with a detailed presentation. |
What do you think about this and creating a blog post, @AndydeCleyre? |
Ok I'll put something together, post it back here for feedback, then post it for real somewhere. |
@Martin1887 and anyone else interested, I've put up a draft post at this-and-that/broot-zsh, It's much longer than I wanted it to be, really, and I still don't know if it answers the actual questions people will have. |
It looks great! The only inconvenience I see is the last part before bonus is very complex, maybe a easier though less powerful manner could be introduced just before. Could your And the bonus part would be amazing, if removing the need of |
Thanks so much! Yes, I'll add in a much simpler version which only inserts, and does not handle a partially typed path at all. |
Great improvement the simple selector! It helps to understand what each thing of the complex one does. So the only pending change is the eval-avoid function, right? I think this post should be promoted in the web, but I would change the eval-avoid empty code blocks by a more explicit message, since it may seem a failure of the user's browser. |
Thanks @Martin1887 Yeah, unless there's more feedback, the bonus section is all that's left. I could remove it, or if @Canop expects to implement #825 and release soon, I'll wait for that and specify that the bonus method and config require that latest release. |
I expect to do it soonish. I must finish and wrap #826 before, but then it's next in the list for broot unless new bugs come in. |
Alright @Martin1887 Since @Canop has merged in the new features to main, I've updated and "finalized" the post (I'm still open to edits based on further feedback), |
Great! I'm eager to try it (probably this week), thanks! |
I have found a small issue in the drill-down launcher, @AndydeCleyre: at least in Starship after changing the folder it is not reflected in the prompt, but the directory is already changed. After any command (included an empty one) the directory is updated in the prompt. Thanks! |
Thanks @Martin1887 Did you also add the |
My bad, I forgot copying that function :S, now it works flawlessly, awesome! |
I made it too easy to skip. I've now moved it up and made it hard to skip. Thanks! |
I have been using everything of the blog (and some additional verbs) flawlessly, thanks! However, the verb from #738 does not work, broot says it must be used as |
I use zsh-z so will try to get that going. I think ideally we wouldn't exit the initial broot process, so that we can for example go back in history after jumping. I can use an external to get a path result from zsh-z to the stdout of that external, but I don't know how to capture the external's stdout into a variable we can use in the same verb definition's @Canop What might make sense for setting a verb-usable variable from the result of an external process? Some variant of |
Regardless of what hotkeys I'm using I always rebind my horizontal movement to
Rebound ctrl-c to copy instead of quit (before I found out about
Ability to invoke cd on a file without needing to select it's directory first:
Got this from someone else but it's really good. Let's you run arbitrary shell commands on the fly:
Text line editing:
Play with mpv:
Save item to global variable to use repeated/advanced shell commands (powershell syntax). I've also edited the br.ps1 so that
|
There seems to be the need for a list of recipes, including
Please share what, in your opinion, could be included in there.
Answer with either a recipe, part of a recipe, or a need for some specific one.
The text was updated successfully, but these errors were encountered: