Server IP : 103.119.228.120 / Your IP : 3.142.255.23 Web Server : Apache System : Linux v8.techscape8.com 3.10.0-1160.119.1.el7.tuxcare.els2.x86_64 #1 SMP Mon Jul 15 12:09:18 UTC 2024 x86_64 User : nobody ( 99) PHP Version : 5.6.40 Disable Function : shell_exec,symlink,system,exec,proc_get_status,proc_nice,proc_terminate,define_syslog_variables,syslog,openlog,closelog,escapeshellcmd,passthru,ocinum cols,ini_alter,leak,listen,chgrp,apache_note,apache_setenv,debugger_on,debugger_off,ftp_exec,dl,dll,myshellexec,proc_open,socket_bind,proc_close,escapeshellarg,parse_ini_filepopen,fpassthru,exec,passthru,escapeshellarg,escapeshellcmd,proc_close,proc_open,ini_alter,popen,show_source,proc_nice,proc_terminate,proc_get_status,proc_close,pfsockopen,leak,apache_child_terminate,posix_kill,posix_mkfifo,posix_setpgid,posix_setsid,posix_setuid,dl,symlink,shell_exec,system,dl,passthru,escapeshellarg,escapeshellcmd,myshellexec,c99_buff_prepare,c99_sess_put,fpassthru,getdisfunc,fx29exec,fx29exec2,is_windows,disp_freespace,fx29sh_getupdate,fx29_buff_prepare,fx29_sess_put,fx29shexit,fx29fsearch,fx29ftpbrutecheck,fx29sh_tools,fx29sh_about,milw0rm,imagez,sh_name,myshellexec,checkproxyhost,dosyayicek,c99_buff_prepare,c99_sess_put,c99getsource,c99sh_getupdate,c99fsearch,c99shexit,view_perms,posix_getpwuid,posix_getgrgid,posix_kill,parse_perms,parsesort,view_perms_color,set_encoder_input,ls_setcheckboxall,ls_reverse_all,rsg_read,rsg_glob,selfURL,dispsecinfo,unix2DosTime,addFile,system,get_users,view_size,DirFiles,DirFilesWide,DirPrintHTMLHeaders,GetFilesTotal,GetTitles,GetTimeTotal,GetMatchesCount,GetFileMatchesCount,GetResultFiles,fs_copy_dir,fs_copy_obj,fs_move_dir,fs_move_obj,fs_rmdir,SearchText,getmicrotime MySQL : ON | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /usr/share/zsh/5.0.2/functions/ |
Upload File : |
#!/bin/zsh -fi # A zsh sticky-note ("post-it") application. Load this file as a function: # autoload -Uz sticky-note # # It may then be bound as a widget: # zle -N sticky-note # And/or run as a command: # sticky-note # sticky-note -b # sticky-note -l ... # The -b option is like "zed -b": it installs keymaps/bindings only. # Use the -l option to list previous sticky notes. Most options of the # "fc -l" command are supported, for selecting which notes to display. # If "sticky-note -l" is run from inside a widget, the cursor is moved # to the top left of the terminal before display and returned to its # original position after display. The -l option is implicitly added # when sticky-note is called from zle-line-init, to avoid inadvertently # trapping the user inside the note editor. # # Otherwise, invoke the line editor with the previous notes available # as an editor history. Two quick taps on the return/enter key finish # the note, or you can use ^X^W as usual (ZZ in vicmd mode). # The application is configured by three zstyles, all using the context # ":sticky-note". The first two styles are "notefile" and "maxnotes" # to name the file in which notes are stored and the maximum number of # notes to retain: # zstyle :sticky-note notefile ~/.zsticky # zstyle :sticky-note maxnotes 1000 # The "theme" style may be set to control the appearance of the notes. # The style is an associative array; the current set of values (defaults # in parens) are: # bg => name or ANSI escape for background color (yellow) # fg => name or ANSI escape for foreground color (black) # color => ANSI escape for color scheme ($theme[bg]$theme[fg]) # reset => ANSI escape to restore "normal" colors # Values given as names are looked up in the $bg and $fg arrays from the # "colors" function. If a "color" field is set, the "bg" and "fg" fields # are not used. Example: # zstyle :sticky-note theme \ # bg red \ # fg $fg_bold[yellow] # For backwards compatibility with an earlier version, the notefile may # also be named by the STICKYFILE variable (defaults to $HOME/.zsticky). # The number of notes stored may be given by STICKYSIZE (1000). # I encourage all you creative people to contribute enhancements ... emulate -LR zsh setopt nobanghist extendedhistory histignoredups local STICKYFILE=${STICKYFILE:-$HOME/.zsticky} local STICKYSIZE=${STICKYSIZE:-1000} local sticky stickyfile stickysize zstyle -s :sticky-note notefile stickyfile || stickyfile=$STICKYFILE zstyle -s :sticky-note maxnotes stickysize || stickysize=$STICKYSIZE # Set up keybindings (adapted from "zed") if ! bindkey -M sticky >& /dev/null then bindkey -N sticky main bindkey -M sticky ^X^W accept-line bindkey -M sticky ^M^M accept-line # Two quick RETs ends note bindkey -M sticky ^M self-insert-unmeta fi if ! bindkey -M sticky-vicmd >& /dev/null then bindkey -N sticky-vicmd vicmd bindkey -M sticky-vicmd ZZ accept-line fi [[ "$1" == -b ]] && return 0 # Look up color theme local -A theme (($+bg && $+fg)) || { autoload -Uz colors; colors } zstyle -m :sticky-note theme '*' || { zstyle :sticky-note theme bg yellow fg black } zstyle -a :sticky-note theme theme (( ${+bg[$theme[bg]]} )) && theme[bg]=$bg[$theme[bg]] (( ${+fg[$theme[fg]]} )) && theme[fg]=$fg[$theme[fg]] (( ${+theme[color]} )) || theme[color]=$theme[bg]$theme[fg] (( ${+theme[reset]} )) || theme[reset]=$reset_color # If invoked as a widget, behave a bit like run-help if zle then zmodload -i zsh/parameter if [[ $* == -*l* || $functrace == *zle-line-init:* ]] then fc -ap $stickyfile $stickysize $stickysize echoti sc echoti home print -nr "$theme[color]" fc -l "${@:--1}" | while read -r sticky; do print -- "$sticky"; done print -nr "$theme[reset]" echoti rc elif [[ $CONTEXT = (cont|select|vared) ]] then zle -M "No stickies during ${${(z)PREBUFFER}[1]:-$CONTEXT}, sorry" zle .beep zle -R else zle .push-line BUFFER=sticky-note zle .accept-line fi return 0 fi # Invoked as a command, behave like zed, but write a history file fc -ap $stickyfile $stickysize $stickysize # With a -l option, list the existing sticky notes if [[ "$*" == -*l* ]] then print -nr "$theme[color]" # Use read/print loop to interpolate "\n" in history lines fc -f "$@" | while read -r sticky; do print -- "$sticky"; done print -nr "$theme[reset]" return 0 fi # Edit a new sticky note and add it to the stickyfile while vared -h -p "%{$theme[color]%}" -M sticky -m sticky-vicmd sticky do { [[ -n "$sticky" ]] && print -s -- "$sticky" } always { (( TRY_BLOCK_ERROR = 0 )) } && break echo -n -e '\a' done return 0