Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up

stripped down auto-fu trying to intervene with grml less

NotificationsYou must be signed in to change notification settings

dixler/auto-fu.zsh

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

I wanted to use grml's completion with this program so I stripped it down a lot.follow the old instructions and it should workI recommend adding: function zle-line-init () {    auto-fu-init    zle reset-prompt    <----This line so that you don't have to worry about double                             printing the prompt    zle-smkx}insert old readme herezsh automatic complete-word and list-choicesOriginally incr-0.2.zshIncremental completion for zshby y.fujii <y-fujii at mimosa-pudica.net>Thank you very much y.fujii!Adapted by Takeshi Banse <takebi@laafc.net>, public domainI want to use it with menu selection.To use this,1) source this file.% source auto-fu.zsh2) establish `zle-line-init' containing `auto-fu-init' something like below.% zle-line-init () {auto-fu-init;}; zle -N zle-line-init3) use the _oldlist completer something like below.% zstyle ':completion:*' completer _oldlist _complete(If you have a lot of completer, please insert _oldlist before _complete.)4) establish `zle-keymap-select' containing `auto-fu-zle-keymap-select'.% zle -N zle-keymap-select auto-fu-zle-keymap-select(This enables the afu-vicmd keymap switching coordinates a bit.)*Optionally* you can use the zcompiled file for a little faster loading onevery shell startup, if you zcompile the necessary functions.*1) zcompile the defined functions. (generates ~/.zsh/auto-fu.zwc)% A=/path/to/auto-fu.zsh; (zsh -c "source $A ; auto-fu-zcompile $A ~/.zsh")*2) source the zcompiled file instead of this file and some tweaks.% source ~/.zsh/auto-fu; auto-fu-install*3) establish `zle-line-init' and such (same as a few lines above).Note:It is approximately *(6~10) faster if zcompiled, according to this result :)TIMEFMT="%*E %J"0.041 ( source ./auto-fu.zsh; )0.004 ( source ~/.zsh/auto-fu; auto-fu-install; )Here is the auto-fu-zcompile manual.--- >8 ---NAME       auto-fu-zcompile - zcompile auto-fuSYNOPSIS       auto-fu-zcompile <auto-fu.zsh file> <directory to output>              [<restoffiles>...]DESCRIPTION       This command dumps out the auto-fu's functions, zle and stuff to       <directory to output>/auto-fu. This is inspired from `compinit' which       dumps out the completion system's internal stuff to ~/.zcompdump.       Then `zrecompile' the <directory to output>/auto-fu.       As you can see, auto-fu.zsh has some `eval' calls, so it may result       poor loading performance. I want to avoid that as far as possible, so       the resulting file (~/.zsh/auto-fu) has fewer `eval's and stripped       unnecessary things at runtime.       afu+* and auto-fu* widgets and afu+* functions will *NOT* be       stripped by auto-fu-zcompile.OPTIONS       <auto-fu.zsh file>           This file.       <directory to output>           Directory to dumped and zcompiled files reside.       [<restoffile>...]           Files to be `source'ed right before the dumped file creation.           auto-fu-zcompile will strip unnecessary stuff, so some utility           shell functions will not be available at runtime. If you want           to customize auto-fu stuff using auto-fu.zsh's internal           functions, you can code it at this point (example below).EXAMPLES       .   zcompile auto-fu in ~/.zsh.d:               % A=/path/to/auto-fu.zsh               % (zsh -c "source $A ; auto-fu-zcompile $A ~/.zsh.d")       .   Customize some not-easily-customizable things:               % A=/path/to/auto-fu.zsh               % (zsh -c "source $A ; \                 auto-fu-zcompile $A ~/.zsh.d ~/.zsh/auto-fu-customize.zsh")           '~/.zsh/auto-fu-customize.zsh' is something like this:>             afu+my-kill-line-maybe () {               if (($#BUFFER > CURSOR));               then zle kill-line               else zle kill-whole-line               fi             }             zle -N afu+my-kill-line-maybe             afu-register-zle-eof \               afu+orf-ignoreeof-deletechar-list \               afu-ignore-eof afu+my-kill-line-maybe             afu-register-zle-eof \               afu+orf-exit-deletechar-list exit afu+my-kill-line-maybe<           Using `afu-register-zle-eof' to customize the <C-d> behaviors.--- 8< ---ConfigurationThe auto-fu features can be configured via zstyle.:auto-fu:highlight  input    A highlight specification used for user input string.  completion    A highlight specification used for completion string.  completion/one    A highlight specification used for completion string if it is the    only one candidate.:auto-fu:var  postdisplay    An initial indication string for POSTDISPLAY in auto-fu-init.  postdisplay/clearp    If set, POSTDISPLAY will be cleared after the accept-lines.    'yes' by default.  enable    A list of zle widget names the automatic complete-word and    list-choices to be triggered after its invocation.    Only with ALL in 'enable', the 'disable' style has any effect.    ALL by default.  disable    A list of zle widget names you do *NOT* want the complete-word to be    triggered. Only used if 'enable' contains ALL. For example,      zstyle ':auto-fu:var' enable all      zstyle ':auto-fu:var' disable magic-space    yields; complete-word will not be triggered after pressing the    space-bar, otherwise automatic thing will be taken into account.  track-keymap-skip    A list of keymap names to *NOT* be treated as a keymap change.    In other words, these keymaps cannot be used with the standalone main    keymap. For example "opp". If you use my opp.zsh, please add an 'opp'    to this zstyle.  autoable-function/skipwords  autoable-function/skiplbuffers  autoable-function/skiplines    A list of patterns to *NOT* be treated as auto-stuff appropriate.    These patterns will be tested against the part of the command line    buffer as shown on the below figure:    (*) is used to denote the cursor position.      # nocorrect aptitude --assume-*yes -d install zsh && echo ready                           <-------->skipwords                  <----------------->skiplbuffers                  <----------------------------------->skplines    Examples:    - To disable auto-stuff inside single and also double quotes.      And less than 3 chars before the cursor.      zstyle ':auto-fu:var' autoable-function/skipwords \        "('|$'|")*" "^((???)##)"    - To disable the rm's first option, and also after the '(cvs|svn) co'.      zstyle ':auto-fu:var' autoable-function/skiplbuffers \        'rm -[![:blank:]]#' '(cvs|svn) co *'    - To disable after the 'aptitude word '.      zstyle ':auto-fu:var' autoable-function/skiplines \        '([[:print:]]##[[:space:]]##|(#s)[[:space:]]#)aptitude [[:print:]]# *'  autoable-function/preds    A list of functions to be called whether auto-stuff appropriate or not.    These functions will be called with the arguments (above figure)      - $1 '--assume-'      - $2 'aptitude'      - $3 'aptitude --assume-'      - $4 'aptitude --assume-yes -d install zsh'    For example,    to disable some 'perl -M' thing, we can do by the following zsh codes.>      afu-autoable-pm-p () { [[ ! ("$2" == 'perl' && "$1" == -(#i)m*) ]] }      # retrieve default value into 'preds' to push the above function into.      local -a preds; afu-autoable-default-functions preds      preds+=afu-autoable-pm-p      zstyle ':auto-fu:var' autoable-function/preds $preds<    The afu-autoable-dots-p is actually an example of this ability to skip    uninteresting dots.  autoablep-function    A predicate function to determine whether auto-stuff could be    appropriate. (Default `auto-fu-default-autoable-pred' implements the    above autoablep-function/* functionality.)Configuration examplezstyle ':auto-fu:highlight' input boldzstyle ':auto-fu:highlight' completion fg=black,boldzstyle ':auto-fu:highlight' completion/one fg=white,bold,underlinezstyle ':auto-fu:var' postdisplay $'-azfu-'zstyle ':auto-fu:var' track-keymap-skip opp#zstyle ':auto-fu:var' disable magic-spaceXXX: use with the error correction or _match completer.If you got the correction errors during auto completing the word, thenplese do _not_ do `magic-space` or `accept-line`. Insted please do thefollowing, `undo` and then hit <tab> or throw away the buffer altogether.This applies _match completer with complex patterns, too.I'm very sorry for this annonying behaviour.(For example, 'ls --bbb' and 'ls --*~^*al*' etc.)XXX: ignoreeof semantics changes for overriding ^D.You cannot change the ignoreeof option interactively. I'm verry sorry.To customize the ^D behavior further, it will be done for example aboveauto-fu-zcomple manual's EXAMPLE section's code. Please take a look.TODO: play nice with zsh-syntax-highlighting.TODO: http://d.hatena.ne.jp/tarao/20100531/1275322620TODO: pause auto stuff until something happens. ("next magic-space" etc)TODO: handle RBUFFER.TODO: signal handling during the recursive edit.TODO: handle empty or space characters.TODO: cp x /usr/locTODO: region_highlight vs afu-able-p → nilDo *NOT* clear the region_highlight if it should.TODO: ^C-n could be used as the menu-select-key outside of the menuselect.TODO: *-directories|all-files may not be enough.TODO: recommend zcompiling.TODO: undo should reset the auto stuff's state.TODO: when `_match`ing,sometimes extra <TAB> key is needed to enter the menu select,sometimes is *not* needed. (already be entered menu select state.)Historyv0.0.1.12fix some options potentially will be reset during the auto-stuff.fix afu-keymap+widget to $afu_zles work in custom widgets.Thank you very much for the reports, Christian271!v0.0.1.11play nice with banghist.Thank you very much for the report, yoshikaw!add autoablep-function machinery.Thank you very much for the suggestion, tyru and kei_q!v0.0.1.10Fix not work auto-thing without extended_glob.Thank you very much for the report, myuhe!v0.0.1.9add auto-fu-activate, auto-fu-deactivate and auto-fu-toggle.v0.0.1.8.3in afu+complete-word PAGER=<TAB> ⇒ PAGER=PAGER= bug fix.Thank you very much for the report, tyru!v0.0.1.8.2afu+complete-word bug fixes.v0.0.1.8.1README.mdv0.0.1.8add completion/one and postdisplay/clearp configurations.add kill-word and yank to afu_zles.v0.0.1.7Fix "no such keymap `isearch'" error.Thank you very much for the report, mooz and Shougo!v0.0.1.6Fix `parameter not set`. Thank you very much for the report, Shougo!Bug fix.v0.0.1.5afu+complete-word bug (directory vs others) fix.v0.0.1.4afu+complete-word bug fixes.v0.0.1.3Teach ^D and magic-space.v0.0.1.2Add configuration option and auto-fu-zcompile for a little faster loading.v0.0.1.1Documentation typo fix.v0.0.1Initial version.

About

stripped down auto-fu trying to intervene with grml less

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Shell100.0%

[8]ページ先頭

©2009-2025 Movatter.jp