├── AUTHORS ├── COPYING ├── ChangeLog ├── INSTALL ├── Makefile.am ├── Makefile.in ├── NEWS ├── README ├── README.md ├── aclocal.m4 ├── configure ├── configure.ac ├── debian ├── README.source ├── changelog ├── compat ├── control ├── copyright ├── docs ├── postinst ├── prerm ├── rules ├── source │ └── format ├── upstream │ └── signing-key.asc └── watch ├── doc ├── Makefile.am ├── Makefile.in ├── changelog └── copyright ├── install-sh ├── man ├── Makefile.am ├── Makefile.in ├── README └── fizsh.pod ├── missing └── scripts ├── Makefile.am ├── Makefile.in ├── brackets-highlighter.zsh ├── cursor-highlighter.zsh ├── fizsh ├── fizsh-miscellaneous.zsh ├── fizsh-prompt.zsh ├── fizshrc.zsh ├── line-highlighter.zsh ├── main-highlighter.zsh ├── modify-etc-shells.sh ├── pattern-highlighter.zsh ├── root-highlighter.zsh ├── zsh-history-substring-search.zsh └── zsh-syntax-highlighting.zsh /AUTHORS: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zsh-users/fizsh/f047f8a68a6499500bc46d40c412d99f01d2378d/AUTHORS -------------------------------------------------------------------------------- /COPYING: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zsh-users/fizsh/f047f8a68a6499500bc46d40c412d99f01d2378d/COPYING -------------------------------------------------------------------------------- /ChangeLog: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zsh-users/fizsh/f047f8a68a6499500bc46d40c412d99f01d2378d/ChangeLog -------------------------------------------------------------------------------- /INSTALL: -------------------------------------------------------------------------------- 1 | Installation Instructions 2 | ************************* 3 | 4 | Copyright (C) 1994-1996, 1999-2002, 2004-2011 Free Software Foundation, 5 | Inc. 6 | 7 | Copying and distribution of this file, with or without modification, 8 | are permitted in any medium without royalty provided the copyright 9 | notice and this notice are preserved. This file is offered as-is, 10 | without warranty of any kind. 11 | 12 | Basic Installation 13 | ================== 14 | 15 | Briefly, the shell commands `./configure; make; make install' should 16 | configure, build, and install this package. The following 17 | more-detailed instructions are generic; see the `README' file for 18 | instructions specific to this package. Some packages provide this 19 | `INSTALL' file but do not implement all of the features documented 20 | below. The lack of an optional feature in a given package is not 21 | necessarily a bug. More recommendations for GNU packages can be found 22 | in *note Makefile Conventions: (standards)Makefile Conventions. 23 | 24 | The `configure' shell script attempts to guess correct values for 25 | various system-dependent variables used during compilation. It uses 26 | those values to create a `Makefile' in each directory of the package. 27 | It may also create one or more `.h' files containing system-dependent 28 | definitions. Finally, it creates a shell script `config.status' that 29 | you can run in the future to recreate the current configuration, and a 30 | file `config.log' containing compiler output (useful mainly for 31 | debugging `configure'). 32 | 33 | It can also use an optional file (typically called `config.cache' 34 | and enabled with `--cache-file=config.cache' or simply `-C') that saves 35 | the results of its tests to speed up reconfiguring. Caching is 36 | disabled by default to prevent problems with accidental use of stale 37 | cache files. 38 | 39 | If you need to do unusual things to compile the package, please try 40 | to figure out how `configure' could check whether to do them, and mail 41 | diffs or instructions to the address given in the `README' so they can 42 | be considered for the next release. If you are using the cache, and at 43 | some point `config.cache' contains results you don't want to keep, you 44 | may remove or edit it. 45 | 46 | The file `configure.ac' (or `configure.in') is used to create 47 | `configure' by a program called `autoconf'. You need `configure.ac' if 48 | you want to change it or regenerate `configure' using a newer version 49 | of `autoconf'. 50 | 51 | The simplest way to compile this package is: 52 | 53 | 1. `cd' to the directory containing the package's source code and type 54 | `./configure' to configure the package for your system. 55 | 56 | Running `configure' might take a while. While running, it prints 57 | some messages telling which features it is checking for. 58 | 59 | 2. Type `make' to compile the package. 60 | 61 | 3. Optionally, type `make check' to run any self-tests that come with 62 | the package, generally using the just-built uninstalled binaries. 63 | 64 | 4. Type `make install' to install the programs and any data files and 65 | documentation. When installing into a prefix owned by root, it is 66 | recommended that the package be configured and built as a regular 67 | user, and only the `make install' phase executed with root 68 | privileges. 69 | 70 | 5. Optionally, type `make installcheck' to repeat any self-tests, but 71 | this time using the binaries in their final installed location. 72 | This target does not install anything. Running this target as a 73 | regular user, particularly if the prior `make install' required 74 | root privileges, verifies that the installation completed 75 | correctly. 76 | 77 | 6. You can remove the program binaries and object files from the 78 | source code directory by typing `make clean'. To also remove the 79 | files that `configure' created (so you can compile the package for 80 | a different kind of computer), type `make distclean'. There is 81 | also a `make maintainer-clean' target, but that is intended mainly 82 | for the package's developers. If you use it, you may have to get 83 | all sorts of other programs in order to regenerate files that came 84 | with the distribution. 85 | 86 | 7. Often, you can also type `make uninstall' to remove the installed 87 | files again. In practice, not all packages have tested that 88 | uninstallation works correctly, even though it is required by the 89 | GNU Coding Standards. 90 | 91 | 8. Some packages, particularly those that use Automake, provide `make 92 | distcheck', which can by used by developers to test that all other 93 | targets like `make install' and `make uninstall' work correctly. 94 | This target is generally not run by end users. 95 | 96 | Compilers and Options 97 | ===================== 98 | 99 | Some systems require unusual options for compilation or linking that 100 | the `configure' script does not know about. Run `./configure --help' 101 | for details on some of the pertinent environment variables. 102 | 103 | You can give `configure' initial values for configuration parameters 104 | by setting variables in the command line or in the environment. Here 105 | is an example: 106 | 107 | ./configure CC=c99 CFLAGS=-g LIBS=-lposix 108 | 109 | *Note Defining Variables::, for more details. 110 | 111 | Compiling For Multiple Architectures 112 | ==================================== 113 | 114 | You can compile the package for more than one kind of computer at the 115 | same time, by placing the object files for each architecture in their 116 | own directory. To do this, you can use GNU `make'. `cd' to the 117 | directory where you want the object files and executables to go and run 118 | the `configure' script. `configure' automatically checks for the 119 | source code in the directory that `configure' is in and in `..'. This 120 | is known as a "VPATH" build. 121 | 122 | With a non-GNU `make', it is safer to compile the package for one 123 | architecture at a time in the source code directory. After you have 124 | installed the package for one architecture, use `make distclean' before 125 | reconfiguring for another architecture. 126 | 127 | On MacOS X 10.5 and later systems, you can create libraries and 128 | executables that work on multiple system types--known as "fat" or 129 | "universal" binaries--by specifying multiple `-arch' options to the 130 | compiler but only a single `-arch' option to the preprocessor. Like 131 | this: 132 | 133 | ./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ 134 | CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ 135 | CPP="gcc -E" CXXCPP="g++ -E" 136 | 137 | This is not guaranteed to produce working output in all cases, you 138 | may have to build one architecture at a time and combine the results 139 | using the `lipo' tool if you have problems. 140 | 141 | Installation Names 142 | ================== 143 | 144 | By default, `make install' installs the package's commands under 145 | `/usr/local/bin', include files under `/usr/local/include', etc. You 146 | can specify an installation prefix other than `/usr/local' by giving 147 | `configure' the option `--prefix=PREFIX', where PREFIX must be an 148 | absolute file name. 149 | 150 | You can specify separate installation prefixes for 151 | architecture-specific files and architecture-independent files. If you 152 | pass the option `--exec-prefix=PREFIX' to `configure', the package uses 153 | PREFIX as the prefix for installing programs and libraries. 154 | Documentation and other data files still use the regular prefix. 155 | 156 | In addition, if you use an unusual directory layout you can give 157 | options like `--bindir=DIR' to specify different values for particular 158 | kinds of files. Run `configure --help' for a list of the directories 159 | you can set and what kinds of files go in them. In general, the 160 | default for these options is expressed in terms of `${prefix}', so that 161 | specifying just `--prefix' will affect all of the other directory 162 | specifications that were not explicitly provided. 163 | 164 | The most portable way to affect installation locations is to pass the 165 | correct locations to `configure'; however, many packages provide one or 166 | both of the following shortcuts of passing variable assignments to the 167 | `make install' command line to change installation locations without 168 | having to reconfigure or recompile. 169 | 170 | The first method involves providing an override variable for each 171 | affected directory. For example, `make install 172 | prefix=/alternate/directory' will choose an alternate location for all 173 | directory configuration variables that were expressed in terms of 174 | `${prefix}'. Any directories that were specified during `configure', 175 | but not in terms of `${prefix}', must each be overridden at install 176 | time for the entire installation to be relocated. The approach of 177 | makefile variable overrides for each directory variable is required by 178 | the GNU Coding Standards, and ideally causes no recompilation. 179 | However, some platforms have known limitations with the semantics of 180 | shared libraries that end up requiring recompilation when using this 181 | method, particularly noticeable in packages that use GNU Libtool. 182 | 183 | The second method involves providing the `DESTDIR' variable. For 184 | example, `make install DESTDIR=/alternate/directory' will prepend 185 | `/alternate/directory' before all installation names. The approach of 186 | `DESTDIR' overrides is not required by the GNU Coding Standards, and 187 | does not work on platforms that have drive letters. On the other hand, 188 | it does better at avoiding recompilation issues, and works well even 189 | when some directory options were not specified in terms of `${prefix}' 190 | at `configure' time. 191 | 192 | Optional Features 193 | ================= 194 | 195 | If the package supports it, you can cause programs to be installed 196 | with an extra prefix or suffix on their names by giving `configure' the 197 | option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'. 198 | 199 | Some packages pay attention to `--enable-FEATURE' options to 200 | `configure', where FEATURE indicates an optional part of the package. 201 | They may also pay attention to `--with-PACKAGE' options, where PACKAGE 202 | is something like `gnu-as' or `x' (for the X Window System). The 203 | `README' should mention any `--enable-' and `--with-' options that the 204 | package recognizes. 205 | 206 | For packages that use the X Window System, `configure' can usually 207 | find the X include and library files automatically, but if it doesn't, 208 | you can use the `configure' options `--x-includes=DIR' and 209 | `--x-libraries=DIR' to specify their locations. 210 | 211 | Some packages offer the ability to configure how verbose the 212 | execution of `make' will be. For these packages, running `./configure 213 | --enable-silent-rules' sets the default to minimal output, which can be 214 | overridden with `make V=1'; while running `./configure 215 | --disable-silent-rules' sets the default to verbose, which can be 216 | overridden with `make V=0'. 217 | 218 | Particular systems 219 | ================== 220 | 221 | On HP-UX, the default C compiler is not ANSI C compatible. If GNU 222 | CC is not installed, it is recommended to use the following options in 223 | order to use an ANSI C compiler: 224 | 225 | ./configure CC="cc -Ae -D_XOPEN_SOURCE=500" 226 | 227 | and if that doesn't work, install pre-built binaries of GCC for HP-UX. 228 | 229 | HP-UX `make' updates targets which have the same time stamps as 230 | their prerequisites, which makes it generally unusable when shipped 231 | generated files such as `configure' are involved. Use GNU `make' 232 | instead. 233 | 234 | On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot 235 | parse its `' header file. The option `-nodtk' can be used as 236 | a workaround. If GNU CC is not installed, it is therefore recommended 237 | to try 238 | 239 | ./configure CC="cc" 240 | 241 | and if that doesn't work, try 242 | 243 | ./configure CC="cc -nodtk" 244 | 245 | On Solaris, don't put `/usr/ucb' early in your `PATH'. This 246 | directory contains several dysfunctional programs; working variants of 247 | these programs are available in `/usr/bin'. So, if you need `/usr/ucb' 248 | in your `PATH', put it _after_ `/usr/bin'. 249 | 250 | On Haiku, software installed for all users goes in `/boot/common', 251 | not `/usr/local'. It is recommended to use the following options: 252 | 253 | ./configure --prefix=/boot/common 254 | 255 | Specifying the System Type 256 | ========================== 257 | 258 | There may be some features `configure' cannot figure out 259 | automatically, but needs to determine by the type of machine the package 260 | will run on. Usually, assuming the package is built to be run on the 261 | _same_ architectures, `configure' can figure that out, but if it prints 262 | a message saying it cannot guess the machine type, give it the 263 | `--build=TYPE' option. TYPE can either be a short name for the system 264 | type, such as `sun4', or a canonical name which has the form: 265 | 266 | CPU-COMPANY-SYSTEM 267 | 268 | where SYSTEM can have one of these forms: 269 | 270 | OS 271 | KERNEL-OS 272 | 273 | See the file `config.sub' for the possible values of each field. If 274 | `config.sub' isn't included in this package, then this package doesn't 275 | need to know the machine type. 276 | 277 | If you are _building_ compiler tools for cross-compiling, you should 278 | use the option `--target=TYPE' to select the type of system they will 279 | produce code for. 280 | 281 | If you want to _use_ a cross compiler, that generates code for a 282 | platform different from the build platform, you should specify the 283 | "host" platform (i.e., that on which the generated programs will 284 | eventually be run) with `--host=TYPE'. 285 | 286 | Sharing Defaults 287 | ================ 288 | 289 | If you want to set default values for `configure' scripts to share, 290 | you can create a site shell script called `config.site' that gives 291 | default values for variables like `CC', `cache_file', and `prefix'. 292 | `configure' looks for `PREFIX/share/config.site' if it exists, then 293 | `PREFIX/etc/config.site' if it exists. Or, you can set the 294 | `CONFIG_SITE' environment variable to the location of the site script. 295 | A warning: not all `configure' scripts look for a site script. 296 | 297 | Defining Variables 298 | ================== 299 | 300 | Variables not defined in a site shell script can be set in the 301 | environment passed to `configure'. However, some packages may run 302 | configure again during the build, and the customized values of these 303 | variables may be lost. In order to avoid this problem, you should set 304 | them in the `configure' command line, using `VAR=value'. For example: 305 | 306 | ./configure CC=/usr/local2/bin/gcc 307 | 308 | causes the specified `gcc' to be used as the C compiler (unless it is 309 | overridden in the site shell script). 310 | 311 | Unfortunately, this technique does not work for `CONFIG_SHELL' due to 312 | an Autoconf bug. Until the bug is fixed you can use this workaround: 313 | 314 | CONFIG_SHELL=/bin/bash /bin/bash ./configure CONFIG_SHELL=/bin/bash 315 | 316 | `configure' Invocation 317 | ====================== 318 | 319 | `configure' recognizes the following options to control how it 320 | operates. 321 | 322 | `--help' 323 | `-h' 324 | Print a summary of all of the options to `configure', and exit. 325 | 326 | `--help=short' 327 | `--help=recursive' 328 | Print a summary of the options unique to this package's 329 | `configure', and exit. The `short' variant lists options used 330 | only in the top level, while the `recursive' variant lists options 331 | also present in any nested packages. 332 | 333 | `--version' 334 | `-V' 335 | Print the version of Autoconf used to generate the `configure' 336 | script, and exit. 337 | 338 | `--cache-file=FILE' 339 | Enable the cache: use and save the results of the tests in FILE, 340 | traditionally `config.cache'. FILE defaults to `/dev/null' to 341 | disable caching. 342 | 343 | `--config-cache' 344 | `-C' 345 | Alias for `--cache-file=config.cache'. 346 | 347 | `--quiet' 348 | `--silent' 349 | `-q' 350 | Do not print messages saying which checks are being made. To 351 | suppress all normal output, redirect it to `/dev/null' (any error 352 | messages will still be shown). 353 | 354 | `--srcdir=DIR' 355 | Look for the package's source code in directory DIR. Usually 356 | `configure' can determine that directory automatically. 357 | 358 | `--prefix=DIR' 359 | Use DIR as the installation prefix. *note Installation Names:: 360 | for more details, including other options available for fine-tuning 361 | the installation locations. 362 | 363 | `--no-create' 364 | `-n' 365 | Run the configure checks, but stop before creating any output 366 | files. 367 | 368 | `configure' also accepts some other, not widely useful, options. Run 369 | `configure --help' for more details. 370 | 371 | -------------------------------------------------------------------------------- /Makefile.am: -------------------------------------------------------------------------------- 1 | AUTOMAKE_OPTIONS = gnu 2 | SUBDIRS = doc man scripts 3 | EXTRA_DIST = doc man scripts 4 | dist-hook: 5 | rm -rf $(distdir)/Makefile $(distdir)/doc/Makefile $(distdir)/man/Makefile $(distdir)/scripts/Makefile $(distdir)/debian $(distdir)/man/fizsh.1 $(distdir)/autom4te.cache $(distdir)/config.status $(distdir)/config.log 6 | 7 | install-data-local: 8 | $(srcdir)/scripts/modify-etc-shells.sh --add $(bindir)/fizsh || true 9 | 10 | uninstall-local: 11 | $(srcdir)/scripts/modify-etc-shells.sh --remove $(bindir)/fizsh || true 12 | -------------------------------------------------------------------------------- /Makefile.in: -------------------------------------------------------------------------------- 1 | # Makefile.in generated by automake 1.15 from Makefile.am. 2 | # @configure_input@ 3 | 4 | # Copyright (C) 1994-2014 Free Software Foundation, Inc. 5 | 6 | # This Makefile.in is free software; the Free Software Foundation 7 | # gives unlimited permission to copy and/or distribute it, 8 | # with or without modifications, as long as this notice is preserved. 9 | 10 | # This program is distributed in the hope that it will be useful, 11 | # but WITHOUT ANY WARRANTY, to the extent permitted by law; without 12 | # even the implied warranty of MERCHANTABILITY or FITNESS FOR A 13 | # PARTICULAR PURPOSE. 14 | 15 | @SET_MAKE@ 16 | VPATH = @srcdir@ 17 | am__is_gnu_make = { \ 18 | if test -z '$(MAKELEVEL)'; then \ 19 | false; \ 20 | elif test -n '$(MAKE_HOST)'; then \ 21 | true; \ 22 | elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ 23 | true; \ 24 | else \ 25 | false; \ 26 | fi; \ 27 | } 28 | am__make_running_with_option = \ 29 | case $${target_option-} in \ 30 | ?) ;; \ 31 | *) echo "am__make_running_with_option: internal error: invalid" \ 32 | "target option '$${target_option-}' specified" >&2; \ 33 | exit 1;; \ 34 | esac; \ 35 | has_opt=no; \ 36 | sane_makeflags=$$MAKEFLAGS; \ 37 | if $(am__is_gnu_make); then \ 38 | sane_makeflags=$$MFLAGS; \ 39 | else \ 40 | case $$MAKEFLAGS in \ 41 | *\\[\ \ ]*) \ 42 | bs=\\; \ 43 | sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ 44 | | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ 45 | esac; \ 46 | fi; \ 47 | skip_next=no; \ 48 | strip_trailopt () \ 49 | { \ 50 | flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ 51 | }; \ 52 | for flg in $$sane_makeflags; do \ 53 | test $$skip_next = yes && { skip_next=no; continue; }; \ 54 | case $$flg in \ 55 | *=*|--*) continue;; \ 56 | -*I) strip_trailopt 'I'; skip_next=yes;; \ 57 | -*I?*) strip_trailopt 'I';; \ 58 | -*O) strip_trailopt 'O'; skip_next=yes;; \ 59 | -*O?*) strip_trailopt 'O';; \ 60 | -*l) strip_trailopt 'l'; skip_next=yes;; \ 61 | -*l?*) strip_trailopt 'l';; \ 62 | -[dEDm]) skip_next=yes;; \ 63 | -[JT]) skip_next=yes;; \ 64 | esac; \ 65 | case $$flg in \ 66 | *$$target_option*) has_opt=yes; break;; \ 67 | esac; \ 68 | done; \ 69 | test $$has_opt = yes 70 | am__make_dryrun = (target_option=n; $(am__make_running_with_option)) 71 | am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) 72 | pkgdatadir = $(datadir)/@PACKAGE@ 73 | pkgincludedir = $(includedir)/@PACKAGE@ 74 | pkglibdir = $(libdir)/@PACKAGE@ 75 | pkglibexecdir = $(libexecdir)/@PACKAGE@ 76 | am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd 77 | install_sh_DATA = $(install_sh) -c -m 644 78 | install_sh_PROGRAM = $(install_sh) -c 79 | install_sh_SCRIPT = $(install_sh) -c 80 | INSTALL_HEADER = $(INSTALL_DATA) 81 | transform = $(program_transform_name) 82 | NORMAL_INSTALL = : 83 | PRE_INSTALL = : 84 | POST_INSTALL = : 85 | NORMAL_UNINSTALL = : 86 | PRE_UNINSTALL = : 87 | POST_UNINSTALL = : 88 | subdir = . 89 | ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 90 | am__aclocal_m4_deps = $(top_srcdir)/configure.ac 91 | am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ 92 | $(ACLOCAL_M4) 93 | DIST_COMMON = $(srcdir)/Makefile.am $(top_srcdir)/configure \ 94 | $(am__configure_deps) $(am__DIST_COMMON) 95 | am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ 96 | configure.lineno config.status.lineno 97 | mkinstalldirs = $(install_sh) -d 98 | CONFIG_CLEAN_FILES = 99 | CONFIG_CLEAN_VPATH_FILES = 100 | AM_V_P = $(am__v_P_@AM_V@) 101 | am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) 102 | am__v_P_0 = false 103 | am__v_P_1 = : 104 | AM_V_GEN = $(am__v_GEN_@AM_V@) 105 | am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) 106 | am__v_GEN_0 = @echo " GEN " $@; 107 | am__v_GEN_1 = 108 | AM_V_at = $(am__v_at_@AM_V@) 109 | am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) 110 | am__v_at_0 = @ 111 | am__v_at_1 = 112 | SOURCES = 113 | DIST_SOURCES = 114 | RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ 115 | ctags-recursive dvi-recursive html-recursive info-recursive \ 116 | install-data-recursive install-dvi-recursive \ 117 | install-exec-recursive install-html-recursive \ 118 | install-info-recursive install-pdf-recursive \ 119 | install-ps-recursive install-recursive installcheck-recursive \ 120 | installdirs-recursive pdf-recursive ps-recursive \ 121 | tags-recursive uninstall-recursive 122 | am__can_run_installinfo = \ 123 | case $$AM_UPDATE_INFO_DIR in \ 124 | n|no|NO) false;; \ 125 | *) (install-info --version) >/dev/null 2>&1;; \ 126 | esac 127 | RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ 128 | distclean-recursive maintainer-clean-recursive 129 | am__recursive_targets = \ 130 | $(RECURSIVE_TARGETS) \ 131 | $(RECURSIVE_CLEAN_TARGETS) \ 132 | $(am__extra_recursive_targets) 133 | AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ 134 | cscope distdir dist dist-all distcheck 135 | am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) 136 | # Read a list of newline-separated strings from the standard input, 137 | # and print each of them once, without duplicates. Input order is 138 | # *not* preserved. 139 | am__uniquify_input = $(AWK) '\ 140 | BEGIN { nonempty = 0; } \ 141 | { items[$$0] = 1; nonempty = 1; } \ 142 | END { if (nonempty) { for (i in items) print i; }; } \ 143 | ' 144 | # Make sure the list of sources is unique. This is necessary because, 145 | # e.g., the same source file might be shared among _SOURCES variables 146 | # for different programs/libraries. 147 | am__define_uniq_tagged_files = \ 148 | list='$(am__tagged_files)'; \ 149 | unique=`for i in $$list; do \ 150 | if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ 151 | done | $(am__uniquify_input)` 152 | ETAGS = etags 153 | CTAGS = ctags 154 | CSCOPE = cscope 155 | DIST_SUBDIRS = $(SUBDIRS) 156 | am__DIST_COMMON = $(srcdir)/Makefile.in AUTHORS COPYING ChangeLog \ 157 | INSTALL NEWS README install-sh missing 158 | DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) 159 | distdir = $(PACKAGE)-$(VERSION) 160 | top_distdir = $(distdir) 161 | am__remove_distdir = \ 162 | if test -d "$(distdir)"; then \ 163 | find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \ 164 | && rm -rf "$(distdir)" \ 165 | || { sleep 5 && rm -rf "$(distdir)"; }; \ 166 | else :; fi 167 | am__post_remove_distdir = $(am__remove_distdir) 168 | am__relativize = \ 169 | dir0=`pwd`; \ 170 | sed_first='s,^\([^/]*\)/.*$$,\1,'; \ 171 | sed_rest='s,^[^/]*/*,,'; \ 172 | sed_last='s,^.*/\([^/]*\)$$,\1,'; \ 173 | sed_butlast='s,/*[^/]*$$,,'; \ 174 | while test -n "$$dir1"; do \ 175 | first=`echo "$$dir1" | sed -e "$$sed_first"`; \ 176 | if test "$$first" != "."; then \ 177 | if test "$$first" = ".."; then \ 178 | dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ 179 | dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ 180 | else \ 181 | first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ 182 | if test "$$first2" = "$$first"; then \ 183 | dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ 184 | else \ 185 | dir2="../$$dir2"; \ 186 | fi; \ 187 | dir0="$$dir0"/"$$first"; \ 188 | fi; \ 189 | fi; \ 190 | dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ 191 | done; \ 192 | reldir="$$dir2" 193 | DIST_ARCHIVES = $(distdir).tar.gz 194 | GZIP_ENV = --best 195 | DIST_TARGETS = dist-gzip 196 | distuninstallcheck_listfiles = find . -type f -print 197 | am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \ 198 | | sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$' 199 | distcleancheck_listfiles = find . -type f -print 200 | ACLOCAL = @ACLOCAL@ 201 | AMTAR = @AMTAR@ 202 | AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ 203 | AUTOCONF = @AUTOCONF@ 204 | AUTOHEADER = @AUTOHEADER@ 205 | AUTOMAKE = @AUTOMAKE@ 206 | AWK = @AWK@ 207 | CYGPATH_W = @CYGPATH_W@ 208 | DEFS = @DEFS@ 209 | ECHO_C = @ECHO_C@ 210 | ECHO_N = @ECHO_N@ 211 | ECHO_T = @ECHO_T@ 212 | INSTALL = @INSTALL@ 213 | INSTALL_DATA = @INSTALL_DATA@ 214 | INSTALL_PROGRAM = @INSTALL_PROGRAM@ 215 | INSTALL_SCRIPT = @INSTALL_SCRIPT@ 216 | INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ 217 | LIBOBJS = @LIBOBJS@ 218 | LIBS = @LIBS@ 219 | LTLIBOBJS = @LTLIBOBJS@ 220 | MAINT = @MAINT@ 221 | MAKEINFO = @MAKEINFO@ 222 | MKDIR_P = @MKDIR_P@ 223 | PACKAGE = @PACKAGE@ 224 | PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ 225 | PACKAGE_NAME = @PACKAGE_NAME@ 226 | PACKAGE_STRING = @PACKAGE_STRING@ 227 | PACKAGE_TARNAME = @PACKAGE_TARNAME@ 228 | PACKAGE_URL = @PACKAGE_URL@ 229 | PACKAGE_VERSION = @PACKAGE_VERSION@ 230 | PATH_SEPARATOR = @PATH_SEPARATOR@ 231 | POD2MAN = @POD2MAN@ 232 | SET_MAKE = @SET_MAKE@ 233 | SHELL = @SHELL@ 234 | STRIP = @STRIP@ 235 | VERSION = @VERSION@ 236 | abs_builddir = @abs_builddir@ 237 | abs_srcdir = @abs_srcdir@ 238 | abs_top_builddir = @abs_top_builddir@ 239 | abs_top_srcdir = @abs_top_srcdir@ 240 | am__leading_dot = @am__leading_dot@ 241 | am__tar = @am__tar@ 242 | am__untar = @am__untar@ 243 | bindir = @bindir@ 244 | build_alias = @build_alias@ 245 | builddir = @builddir@ 246 | datadir = @datadir@ 247 | datarootdir = @datarootdir@ 248 | docdir = @docdir@ 249 | dvidir = @dvidir@ 250 | exec_prefix = @exec_prefix@ 251 | host_alias = @host_alias@ 252 | htmldir = @htmldir@ 253 | includedir = @includedir@ 254 | infodir = @infodir@ 255 | install_sh = @install_sh@ 256 | libdir = @libdir@ 257 | libexecdir = @libexecdir@ 258 | localedir = @localedir@ 259 | localstatedir = @localstatedir@ 260 | mandir = @mandir@ 261 | mkdir_p = @mkdir_p@ 262 | oldincludedir = @oldincludedir@ 263 | pdfdir = @pdfdir@ 264 | prefix = @prefix@ 265 | program_transform_name = @program_transform_name@ 266 | psdir = @psdir@ 267 | runstatedir = @runstatedir@ 268 | sbindir = @sbindir@ 269 | sharedstatedir = @sharedstatedir@ 270 | srcdir = @srcdir@ 271 | sysconfdir = @sysconfdir@ 272 | target_alias = @target_alias@ 273 | top_build_prefix = @top_build_prefix@ 274 | top_builddir = @top_builddir@ 275 | top_srcdir = @top_srcdir@ 276 | AUTOMAKE_OPTIONS = gnu 277 | SUBDIRS = doc man scripts 278 | EXTRA_DIST = doc man scripts 279 | all: all-recursive 280 | 281 | .SUFFIXES: 282 | am--refresh: Makefile 283 | @: 284 | $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) 285 | @for dep in $?; do \ 286 | case '$(am__configure_deps)' in \ 287 | *$$dep*) \ 288 | echo ' cd $(srcdir) && $(AUTOMAKE) --gnu'; \ 289 | $(am__cd) $(srcdir) && $(AUTOMAKE) --gnu \ 290 | && exit 0; \ 291 | exit 1;; \ 292 | esac; \ 293 | done; \ 294 | echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile'; \ 295 | $(am__cd) $(top_srcdir) && \ 296 | $(AUTOMAKE) --gnu Makefile 297 | Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status 298 | @case '$?' in \ 299 | *config.status*) \ 300 | echo ' $(SHELL) ./config.status'; \ 301 | $(SHELL) ./config.status;; \ 302 | *) \ 303 | echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \ 304 | cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \ 305 | esac; 306 | 307 | $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) 308 | $(SHELL) ./config.status --recheck 309 | 310 | $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) 311 | $(am__cd) $(srcdir) && $(AUTOCONF) 312 | $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) 313 | $(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) 314 | $(am__aclocal_m4_deps): 315 | 316 | # This directory's subdirectories are mostly independent; you can cd 317 | # into them and run 'make' without going through this Makefile. 318 | # To change the values of 'make' variables: instead of editing Makefiles, 319 | # (1) if the variable is set in 'config.status', edit 'config.status' 320 | # (which will cause the Makefiles to be regenerated when you run 'make'); 321 | # (2) otherwise, pass the desired values on the 'make' command line. 322 | $(am__recursive_targets): 323 | @fail=; \ 324 | if $(am__make_keepgoing); then \ 325 | failcom='fail=yes'; \ 326 | else \ 327 | failcom='exit 1'; \ 328 | fi; \ 329 | dot_seen=no; \ 330 | target=`echo $@ | sed s/-recursive//`; \ 331 | case "$@" in \ 332 | distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ 333 | *) list='$(SUBDIRS)' ;; \ 334 | esac; \ 335 | for subdir in $$list; do \ 336 | echo "Making $$target in $$subdir"; \ 337 | if test "$$subdir" = "."; then \ 338 | dot_seen=yes; \ 339 | local_target="$$target-am"; \ 340 | else \ 341 | local_target="$$target"; \ 342 | fi; \ 343 | ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ 344 | || eval $$failcom; \ 345 | done; \ 346 | if test "$$dot_seen" = "no"; then \ 347 | $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ 348 | fi; test -z "$$fail" 349 | 350 | ID: $(am__tagged_files) 351 | $(am__define_uniq_tagged_files); mkid -fID $$unique 352 | tags: tags-recursive 353 | TAGS: tags 354 | 355 | tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) 356 | set x; \ 357 | here=`pwd`; \ 358 | if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ 359 | include_option=--etags-include; \ 360 | empty_fix=.; \ 361 | else \ 362 | include_option=--include; \ 363 | empty_fix=; \ 364 | fi; \ 365 | list='$(SUBDIRS)'; for subdir in $$list; do \ 366 | if test "$$subdir" = .; then :; else \ 367 | test ! -f $$subdir/TAGS || \ 368 | set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ 369 | fi; \ 370 | done; \ 371 | $(am__define_uniq_tagged_files); \ 372 | shift; \ 373 | if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ 374 | test -n "$$unique" || unique=$$empty_fix; \ 375 | if test $$# -gt 0; then \ 376 | $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ 377 | "$$@" $$unique; \ 378 | else \ 379 | $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ 380 | $$unique; \ 381 | fi; \ 382 | fi 383 | ctags: ctags-recursive 384 | 385 | CTAGS: ctags 386 | ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) 387 | $(am__define_uniq_tagged_files); \ 388 | test -z "$(CTAGS_ARGS)$$unique" \ 389 | || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ 390 | $$unique 391 | 392 | GTAGS: 393 | here=`$(am__cd) $(top_builddir) && pwd` \ 394 | && $(am__cd) $(top_srcdir) \ 395 | && gtags -i $(GTAGS_ARGS) "$$here" 396 | cscope: cscope.files 397 | test ! -s cscope.files \ 398 | || $(CSCOPE) -b -q $(AM_CSCOPEFLAGS) $(CSCOPEFLAGS) -i cscope.files $(CSCOPE_ARGS) 399 | clean-cscope: 400 | -rm -f cscope.files 401 | cscope.files: clean-cscope cscopelist 402 | cscopelist: cscopelist-recursive 403 | 404 | cscopelist-am: $(am__tagged_files) 405 | list='$(am__tagged_files)'; \ 406 | case "$(srcdir)" in \ 407 | [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ 408 | *) sdir=$(subdir)/$(srcdir) ;; \ 409 | esac; \ 410 | for i in $$list; do \ 411 | if test -f "$$i"; then \ 412 | echo "$(subdir)/$$i"; \ 413 | else \ 414 | echo "$$sdir/$$i"; \ 415 | fi; \ 416 | done >> $(top_builddir)/cscope.files 417 | 418 | distclean-tags: 419 | -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags 420 | -rm -f cscope.out cscope.in.out cscope.po.out cscope.files 421 | 422 | distdir: $(DISTFILES) 423 | $(am__remove_distdir) 424 | test -d "$(distdir)" || mkdir "$(distdir)" 425 | @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ 426 | topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ 427 | list='$(DISTFILES)'; \ 428 | dist_files=`for file in $$list; do echo $$file; done | \ 429 | sed -e "s|^$$srcdirstrip/||;t" \ 430 | -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ 431 | case $$dist_files in \ 432 | */*) $(MKDIR_P) `echo "$$dist_files" | \ 433 | sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ 434 | sort -u` ;; \ 435 | esac; \ 436 | for file in $$dist_files; do \ 437 | if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ 438 | if test -d $$d/$$file; then \ 439 | dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ 440 | if test -d "$(distdir)/$$file"; then \ 441 | find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ 442 | fi; \ 443 | if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ 444 | cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ 445 | find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ 446 | fi; \ 447 | cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ 448 | else \ 449 | test -f "$(distdir)/$$file" \ 450 | || cp -p $$d/$$file "$(distdir)/$$file" \ 451 | || exit 1; \ 452 | fi; \ 453 | done 454 | @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ 455 | if test "$$subdir" = .; then :; else \ 456 | $(am__make_dryrun) \ 457 | || test -d "$(distdir)/$$subdir" \ 458 | || $(MKDIR_P) "$(distdir)/$$subdir" \ 459 | || exit 1; \ 460 | dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ 461 | $(am__relativize); \ 462 | new_distdir=$$reldir; \ 463 | dir1=$$subdir; dir2="$(top_distdir)"; \ 464 | $(am__relativize); \ 465 | new_top_distdir=$$reldir; \ 466 | echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ 467 | echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ 468 | ($(am__cd) $$subdir && \ 469 | $(MAKE) $(AM_MAKEFLAGS) \ 470 | top_distdir="$$new_top_distdir" \ 471 | distdir="$$new_distdir" \ 472 | am__remove_distdir=: \ 473 | am__skip_length_check=: \ 474 | am__skip_mode_fix=: \ 475 | distdir) \ 476 | || exit 1; \ 477 | fi; \ 478 | done 479 | $(MAKE) $(AM_MAKEFLAGS) \ 480 | top_distdir="$(top_distdir)" distdir="$(distdir)" \ 481 | dist-hook 482 | -test -n "$(am__skip_mode_fix)" \ 483 | || find "$(distdir)" -type d ! -perm -755 \ 484 | -exec chmod u+rwx,go+rx {} \; -o \ 485 | ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ 486 | ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ 487 | ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \ 488 | || chmod -R a+r "$(distdir)" 489 | dist-gzip: distdir 490 | tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz 491 | $(am__post_remove_distdir) 492 | 493 | dist-bzip2: distdir 494 | tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2 495 | $(am__post_remove_distdir) 496 | 497 | dist-lzip: distdir 498 | tardir=$(distdir) && $(am__tar) | lzip -c $${LZIP_OPT--9} >$(distdir).tar.lz 499 | $(am__post_remove_distdir) 500 | 501 | dist-xz: distdir 502 | tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz 503 | $(am__post_remove_distdir) 504 | 505 | dist-tarZ: distdir 506 | @echo WARNING: "Support for distribution archives compressed with" \ 507 | "legacy program 'compress' is deprecated." >&2 508 | @echo WARNING: "It will be removed altogether in Automake 2.0" >&2 509 | tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z 510 | $(am__post_remove_distdir) 511 | 512 | dist-shar: distdir 513 | @echo WARNING: "Support for shar distribution archives is" \ 514 | "deprecated." >&2 515 | @echo WARNING: "It will be removed altogether in Automake 2.0" >&2 516 | shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz 517 | $(am__post_remove_distdir) 518 | 519 | dist-zip: distdir 520 | -rm -f $(distdir).zip 521 | zip -rq $(distdir).zip $(distdir) 522 | $(am__post_remove_distdir) 523 | 524 | dist dist-all: 525 | $(MAKE) $(AM_MAKEFLAGS) $(DIST_TARGETS) am__post_remove_distdir='@:' 526 | $(am__post_remove_distdir) 527 | 528 | # This target untars the dist file and tries a VPATH configuration. Then 529 | # it guarantees that the distribution is self-contained by making another 530 | # tarfile. 531 | distcheck: dist 532 | case '$(DIST_ARCHIVES)' in \ 533 | *.tar.gz*) \ 534 | GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\ 535 | *.tar.bz2*) \ 536 | bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\ 537 | *.tar.lz*) \ 538 | lzip -dc $(distdir).tar.lz | $(am__untar) ;;\ 539 | *.tar.xz*) \ 540 | xz -dc $(distdir).tar.xz | $(am__untar) ;;\ 541 | *.tar.Z*) \ 542 | uncompress -c $(distdir).tar.Z | $(am__untar) ;;\ 543 | *.shar.gz*) \ 544 | GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\ 545 | *.zip*) \ 546 | unzip $(distdir).zip ;;\ 547 | esac 548 | chmod -R a-w $(distdir) 549 | chmod u+w $(distdir) 550 | mkdir $(distdir)/_build $(distdir)/_build/sub $(distdir)/_inst 551 | chmod a-w $(distdir) 552 | test -d $(distdir)/_build || exit 0; \ 553 | dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ 554 | && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ 555 | && am__cwd=`pwd` \ 556 | && $(am__cd) $(distdir)/_build/sub \ 557 | && ../../configure \ 558 | $(AM_DISTCHECK_CONFIGURE_FLAGS) \ 559 | $(DISTCHECK_CONFIGURE_FLAGS) \ 560 | --srcdir=../.. --prefix="$$dc_install_base" \ 561 | && $(MAKE) $(AM_MAKEFLAGS) \ 562 | && $(MAKE) $(AM_MAKEFLAGS) dvi \ 563 | && $(MAKE) $(AM_MAKEFLAGS) check \ 564 | && $(MAKE) $(AM_MAKEFLAGS) install \ 565 | && $(MAKE) $(AM_MAKEFLAGS) installcheck \ 566 | && $(MAKE) $(AM_MAKEFLAGS) uninstall \ 567 | && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \ 568 | distuninstallcheck \ 569 | && chmod -R a-w "$$dc_install_base" \ 570 | && ({ \ 571 | (cd ../.. && umask 077 && mkdir "$$dc_destdir") \ 572 | && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \ 573 | && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \ 574 | && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \ 575 | distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \ 576 | } || { rm -rf "$$dc_destdir"; exit 1; }) \ 577 | && rm -rf "$$dc_destdir" \ 578 | && $(MAKE) $(AM_MAKEFLAGS) dist \ 579 | && rm -rf $(DIST_ARCHIVES) \ 580 | && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \ 581 | && cd "$$am__cwd" \ 582 | || exit 1 583 | $(am__post_remove_distdir) 584 | @(echo "$(distdir) archives ready for distribution: "; \ 585 | list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \ 586 | sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x' 587 | distuninstallcheck: 588 | @test -n '$(distuninstallcheck_dir)' || { \ 589 | echo 'ERROR: trying to run $@ with an empty' \ 590 | '$$(distuninstallcheck_dir)' >&2; \ 591 | exit 1; \ 592 | }; \ 593 | $(am__cd) '$(distuninstallcheck_dir)' || { \ 594 | echo 'ERROR: cannot chdir into $(distuninstallcheck_dir)' >&2; \ 595 | exit 1; \ 596 | }; \ 597 | test `$(am__distuninstallcheck_listfiles) | wc -l` -eq 0 \ 598 | || { echo "ERROR: files left after uninstall:" ; \ 599 | if test -n "$(DESTDIR)"; then \ 600 | echo " (check DESTDIR support)"; \ 601 | fi ; \ 602 | $(distuninstallcheck_listfiles) ; \ 603 | exit 1; } >&2 604 | distcleancheck: distclean 605 | @if test '$(srcdir)' = . ; then \ 606 | echo "ERROR: distcleancheck can only run from a VPATH build" ; \ 607 | exit 1 ; \ 608 | fi 609 | @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \ 610 | || { echo "ERROR: files left in build directory after distclean:" ; \ 611 | $(distcleancheck_listfiles) ; \ 612 | exit 1; } >&2 613 | check-am: all-am 614 | check: check-recursive 615 | all-am: Makefile 616 | installdirs: installdirs-recursive 617 | installdirs-am: 618 | install: install-recursive 619 | install-exec: install-exec-recursive 620 | install-data: install-data-recursive 621 | uninstall: uninstall-recursive 622 | 623 | install-am: all-am 624 | @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am 625 | 626 | installcheck: installcheck-recursive 627 | install-strip: 628 | if test -z '$(STRIP)'; then \ 629 | $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ 630 | install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ 631 | install; \ 632 | else \ 633 | $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ 634 | install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ 635 | "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ 636 | fi 637 | mostlyclean-generic: 638 | 639 | clean-generic: 640 | 641 | distclean-generic: 642 | -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) 643 | -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) 644 | 645 | maintainer-clean-generic: 646 | @echo "This command is intended for maintainers to use" 647 | @echo "it deletes files that may require special tools to rebuild." 648 | clean: clean-recursive 649 | 650 | clean-am: clean-generic mostlyclean-am 651 | 652 | distclean: distclean-recursive 653 | -rm -f $(am__CONFIG_DISTCLEAN_FILES) 654 | -rm -f Makefile 655 | distclean-am: clean-am distclean-generic distclean-tags 656 | 657 | dvi: dvi-recursive 658 | 659 | dvi-am: 660 | 661 | html: html-recursive 662 | 663 | html-am: 664 | 665 | info: info-recursive 666 | 667 | info-am: 668 | 669 | install-data-am: install-data-local 670 | 671 | install-dvi: install-dvi-recursive 672 | 673 | install-dvi-am: 674 | 675 | install-exec-am: 676 | 677 | install-html: install-html-recursive 678 | 679 | install-html-am: 680 | 681 | install-info: install-info-recursive 682 | 683 | install-info-am: 684 | 685 | install-man: 686 | 687 | install-pdf: install-pdf-recursive 688 | 689 | install-pdf-am: 690 | 691 | install-ps: install-ps-recursive 692 | 693 | install-ps-am: 694 | 695 | installcheck-am: 696 | 697 | maintainer-clean: maintainer-clean-recursive 698 | -rm -f $(am__CONFIG_DISTCLEAN_FILES) 699 | -rm -rf $(top_srcdir)/autom4te.cache 700 | -rm -f Makefile 701 | maintainer-clean-am: distclean-am maintainer-clean-generic 702 | 703 | mostlyclean: mostlyclean-recursive 704 | 705 | mostlyclean-am: mostlyclean-generic 706 | 707 | pdf: pdf-recursive 708 | 709 | pdf-am: 710 | 711 | ps: ps-recursive 712 | 713 | ps-am: 714 | 715 | uninstall-am: uninstall-local 716 | 717 | .MAKE: $(am__recursive_targets) install-am install-strip 718 | 719 | .PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am \ 720 | am--refresh check check-am clean clean-cscope clean-generic \ 721 | cscope cscopelist-am ctags ctags-am dist dist-all dist-bzip2 \ 722 | dist-gzip dist-hook dist-lzip dist-shar dist-tarZ dist-xz \ 723 | dist-zip distcheck distclean distclean-generic distclean-tags \ 724 | distcleancheck distdir distuninstallcheck dvi dvi-am html \ 725 | html-am info info-am install install-am install-data \ 726 | install-data-am install-data-local install-dvi install-dvi-am \ 727 | install-exec install-exec-am install-html install-html-am \ 728 | install-info install-info-am install-man install-pdf \ 729 | install-pdf-am install-ps install-ps-am install-strip \ 730 | installcheck installcheck-am installdirs installdirs-am \ 731 | maintainer-clean maintainer-clean-generic mostlyclean \ 732 | mostlyclean-generic pdf pdf-am ps ps-am tags tags-am uninstall \ 733 | uninstall-am uninstall-local 734 | 735 | .PRECIOUS: Makefile 736 | 737 | dist-hook: 738 | rm -rf $(distdir)/Makefile $(distdir)/doc/Makefile $(distdir)/man/Makefile $(distdir)/scripts/Makefile $(distdir)/debian $(distdir)/man/fizsh.1 $(distdir)/autom4te.cache $(distdir)/config.status $(distdir)/config.log 739 | 740 | install-data-local: 741 | $(srcdir)/scripts/modify-etc-shells.sh --add $(bindir)/fizsh || true 742 | 743 | uninstall-local: 744 | $(srcdir)/scripts/modify-etc-shells.sh --remove $(bindir)/fizsh || true 745 | 746 | # Tell versions [3.59,3.63) of GNU make to not export all variables. 747 | # Otherwise a system limit (for SysV at least) may be exceeded. 748 | .NOEXPORT: 749 | -------------------------------------------------------------------------------- /NEWS: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zsh-users/fizsh/f047f8a68a6499500bc46d40c412d99f01d2378d/NEWS -------------------------------------------------------------------------------- /README: -------------------------------------------------------------------------------- 1 | *** For those using a Debian-based distribution, such as Ubuntu, there is a ".deb" archive file available: 2 | 3 | user@localmachine$ wget --no-check-certificate --output-document=fizsh_1.0.9-1_all.deb "https://downloads.sourceforge.net/project/fizsh/fizsh_1.0.8-1_all.deb" 4 | 5 | The ".deb" archive can be installed by dpkg: 6 | 7 | user@localmachine$ sudo dpkg -i fizsh_1.0.9-1_all.deb 8 | user@localmachine$ fizsh 9 | Welcome to fizsh, the friendly interactive zshell 10 | Type man fizsh for instructions on how to use fizsh 11 | user@localmachine current-directory> 12 | 13 | *** People on RPM-based systems may try: 14 | 15 | user@localmachine$ wget --no-check-certificate --output-document=fizsh-1.0.9-1.noarch.rpm "https://downloads.sourceforge.net/project/fizsh/fizsh-1.0.8-1.noarch.rpm" 16 | user@localmachine$ sudo rpm -Uhv fizsh-1.0.9-1.noarch.rpm 17 | user@localmachine$ fizsh 18 | Welcome to fizsh, the friendly interactive zshell 19 | Type man fizsh for instructions on how to use fizsh 20 | user@localmachine current-directory> 21 | 22 | *** Those on other systems have to use the tarball: 23 | 24 | user@localmachine$ wget --no-check-certificate --output-document=fizsh-1.0.9.tar.gz "https://downloads.sourceforge.net/project/fizsh/fizsh-1.0.8.tar.gz" 25 | 26 | Extract it: 27 | 28 | user@localmachine$ tar -xvzf fizsh-1.0.9.tar.gz 29 | 30 | Change directory: 31 | 32 | user@localmachine$ cd fizsh-1.0.9 33 | 34 | Configure and install: 35 | 36 | user@localmachine$ ./configure && make && sudo make install 37 | 38 | Or if you do not have access to a privileged account you may install fizsh in your home directory: 39 | 40 | user@localmachine$ export PATH=$PATH:$HOME/bin && ./configure --prefix=$HOME && make && make install 41 | 42 | 43 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | fizsh 2 | ===== 3 | 4 | FIZSH is the Friendly Interactive ZSHell. It is a front end to ZSH. It provides the user of ZSH with interactive syntax-highting and Matlab-like history search. It also has a both short and informative prompt. 5 | 6 | 7 | install 8 | ======= 9 | 10 | In order to install FIZSH, you may run the following: 11 | 12 | user@localmachine$ mkdir ./fizsh 13 | 14 | user@localmachine$ git clone https://github.com/zsh-users/fizsh.git 15 | Initialized empty Git repository in /path/to/fizsh/.git/ 16 | ... 17 | 18 | user@localmachine$ cd ./fizsh 19 | 20 | user@localmachine$ ./configure 21 | 22 | user@localmachine$ # or ./configure --prefix=/usr --includedir=/usr/include --datadir=/usr/share \ 23 | --bindir=/usr/bin --libexecdir=/usr/lib/fizsh \ 24 | --localstatedir=/var --sysconfdir=/etc/ 25 | 26 | checking for a BSD-compatible install... /usr/bin/install -c 27 | ... 28 | 29 | user@localmachine$ make # gmake for those on BSD 30 | Making all in src 31 | ... 32 | 33 | user@localmachine$ sudo make install 34 | Making install in src 35 | ... 36 | 37 | user@localmachine$ fizsh 38 | Welcome to fizsh, the friendly interactive zshell 39 | Type man fizsh for instructions on how to use fizsh 40 | user@localmachine /p/t/fizsh> 41 | 42 | 43 | Those without access to a privileged account may install fizsh in their home directory: 44 | 45 | user@localmachine$ export PATH=$PATH:$HOME/bin && ./configure --prefix=$HOME && make && make install 46 | ... 47 | 48 | user@localmachine$ fizsh 49 | Welcome to fizsh, the friendly interactive zshell 50 | Type man fizsh for instructions on how to use fizsh 51 | user@localmachine /p/t/fizsh> 52 | 53 | 54 | Users on Debian based systems can install the latest binary package from [Sourceforge][1]: 55 | 56 | user@localmachine$ wget --no-check-certificate --output-document=fizsh_1.0.9-1_all.deb \ 57 | "https://downloads.sourceforge.net/project/fizsh/fizsh_1.0.9-1_all.deb" 58 | 59 | user@localmachine$ sudo dpkg -i ./fizsh_1.0.9-1_all.deb 60 | Selecting previously deselected package fizsh. 61 | ... 62 | 63 | user@localmachine$ fizsh 64 | Welcome to fizsh, the friendly interactive zshell 65 | Type man fizsh for instructions on how to use fizsh 66 | user@localmachine /p/t/current_dir> 67 | 68 | 69 | Users of "Debian" and "Ubuntu" may simply run: 70 | 71 | user@localmachine$ sudo apt-get install fizsh 72 | Reading package lists... Done 73 | Building dependency tree 74 | Reading state information... Done 75 | The following NEW packages will be installed: 76 | ... 77 | 78 | 79 | Debian / Sid tends to contain a more recent version of Fizsh. 80 | 81 | Users of "Arch" can find a package at https://aur.archlinux.org/packages/fizsh-git/. 82 | To install it run: 83 | 84 | user@localmachine$ wget "https://aur.archlinux.org/cgit/aur.git/snapshot/fizsh-git.tar.gz" 85 | user@localmachine$ tar xvfz fizsh-git.tar.gz 86 | user@localmachine$ cd fizsh-git 87 | user@localmachine$ makepkg -s 88 | user@localmachine$ sudo pacman -U fizsh-git-1.0.8.r8.g95d0050-1-any.pkg.tar.xz 89 | 90 | Please notice that the name of package archive ("fizsh-git-1.0.8.r8.g95d0050-1-any.pkg.tar.xz" in the example above) can change from version to version. 91 | 92 | uninstall 93 | ========= 94 | 95 | In order to uninstall FIZSH, run: 96 | 97 | user@localmachine /p/t/fizsh> sudo make uninstall 98 | Making uninstall in src 99 | ... 100 | 101 | 102 | Those who have installed fizsh through a Debian-based package manager, such as dpkg or apt-get, may run: 103 | 104 | user@localmachine /p/t/current_dir> sudo apt-get remove fizsh 105 | (Reading database ... 399874 files and directories currently installed.) 106 | ... 107 | 108 | To delete the fizsh package on "Arch" users can run: 109 | 110 | user@localmachine /p/t/current_dir> sudo pacman -R fizsh-git 111 | 112 | or 113 | 114 | user@localmachine /p/t/current_dir> sudo pacman -Rs fizsh-git 115 | 116 | to delete the package with all its dependencies. 117 | 118 | [1]: http://sourceforge.net/projects/fizsh 119 | -------------------------------------------------------------------------------- /configure.ac: -------------------------------------------------------------------------------- 1 | # -*- Autoconf -*- 2 | # Process this file with autoconf to produce a configure script. 3 | 4 | AC_PREREQ([2.65]) 5 | AC_INIT([fizsh], [1.0.9], [Guido van Steen ]) 6 | AM_INIT_AUTOMAKE(fizsh, 1.0.9) 7 | AM_MAINTAINER_MODE 8 | AC_CHECK_PROGS(POD2MAN, [perl], [false]) 9 | AC_OUTPUT(Makefile doc/Makefile man/Makefile scripts/Makefile) 10 | # Checks for programs. 11 | 12 | # Checks for libraries. 13 | 14 | # Checks for header files. 15 | 16 | # Checks for typedefs, structures, and compiler characteristics. 17 | 18 | # Checks for library functions. 19 | 20 | AC_OUTPUT 21 | -------------------------------------------------------------------------------- /debian/README.source: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2011 - 2014 Guido van Steen 2 | # All rights reserved. 3 | # 4 | # 5 | # Redistribution and use in source and binary forms, with or without modification, are permitted 6 | # provided that the following conditions are met: 7 | # 8 | # * Redistributions of source code must retain the above copyright notice, this list of conditions 9 | # and the following disclaimer. 10 | # * Redistributions in binary form must reproduce the above copyright notice, this list of 11 | # conditions and the following disclaimer in the documentation and/or other materials provided 12 | # with the distribution. 13 | # * Neither the name of the FIZSH nor the names of its contributors may be used to endorse or 14 | # promote products derived from this software without specific prior written permission. 15 | # 16 | # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR 17 | # IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND 18 | # FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR 19 | # CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 20 | # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 21 | # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER 22 | # IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT 23 | # OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 24 | # ------------------------------------------------------------------------------------------------- 25 | # -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- 26 | # vim: ft=zsh sw=2 ts=2 et 27 | # 28 | # To update fizsh one may use a workflow like this. 29 | # 30 | # This file may be sourced. make sure debhelper, perl, autoconf, automake and devscripts 31 | # are installed ("sudo apt-get install debhelper perl autoconf automake devscripts") 32 | 33 | cur_version="1.0.7" 34 | 35 | new_version="1.0.7.1" 36 | 37 | rm -rf ~/tmp_build_dir 38 | 39 | mkdir -p ~/tmp_build_dir/fizsh-$cur_version/ 40 | 41 | mkdir -p /tmp/tmp_build_dir/ 42 | 43 | # wget http://sourceforge.net/projects/fizsh/files/fizsh-$cur_version.tar.gz/download -O /tmp/tmp_build_dir/fizsh-$cur_version.tar.gz 44 | 45 | # wget http://sourceforge.net/projects/fizsh/files/fizsh_$cur_version-1.debian.tar.gz/download -O /tmp/tmp_build_dir/fizsh_$cur_version-1.debian.tar.gz 46 | 47 | cd ~/tmp_build_dir/ 48 | 49 | cp /tmp/tmp_build_dir/fizsh-$cur_version.tar.gz ./ 50 | 51 | cp /tmp/tmp_build_dir/fizsh_$cur_version-1.debian.tar.gz ./ 52 | 53 | cd ./fizsh-$cur_version 54 | 55 | tar -xvf ../fizsh-$cur_version.tar.gz > /dev/null 56 | 57 | tar -xvf ../fizsh_$cur_version-1.debian.tar.gz > /dev/null 58 | 59 | cp -a ../fizsh-$cur_version ../fizsh-$new_version 60 | 61 | cd ../fizsh-$new_version 62 | 63 | # Assume that upstream makes some important changes to version $cur_version, which prompts them to release version $new_version: 64 | 65 | rm -rf ./new_entry 66 | sleep 0.1 67 | echo "fizsh ($new_version) UPSTREAM; urgency=low" > ./new_entry 68 | echo "" >> ./new_entry 69 | echo " * Release: $new_version" >> ./new_entry 70 | echo "" >> ./new_entry 71 | echo " * Updated the changelog" >> ./new_entry 72 | echo "" >> ./new_entry 73 | echo " -- Guido van Steen ""$(echo $(date -R))" >> ./new_entry 74 | echo "" >> ./new_entry 75 | 76 | cp ./doc/changelog ./old_entries 77 | 78 | cat ./new_entry ./old_entries > ./doc/changelog 79 | 80 | rm -rf ./new_entry 81 | 82 | echo "fizsh ($new_version-1) unstable; urgency=low" > ./new_entry 83 | echo "" >> ./new_entry 84 | echo " * New upstream release" >> ./new_entry 85 | echo " * No changes required in the debian package" >> ./new_entry 86 | echo "" >> ./new_entry 87 | echo " -- Guido van Steen ""$(echo $(date -R))" >> ./new_entry 88 | echo "" >> ./new_entry 89 | 90 | cp ./debian/changelog ./old_entries 91 | 92 | cat ./new_entry ./old_entries > ./debian/changelog 93 | 94 | rm -rf ./new_entry ./old_entries 95 | 96 | # replace $cur_version by $new_version where needed 97 | 98 | /usr/bin/perl -p -i -e "s/$cur_version/$new_version/g" ./configure.ac 99 | 100 | /usr/bin/perl -p -i -e "s/$cur_version/$new_version/g" ./man/README 101 | 102 | /usr/bin/perl -p -i -e "s/$cur_version/$new_version/g" ./man/Makefile.am 103 | 104 | /usr/bin/perl -p -i -e "s/$cur_version/$new_version/g" ./debian/rules 105 | 106 | /usr/bin/perl -p -i -e "s/$cur_version/$new_version/g" ./scripts/fizsh 107 | 108 | # build the new version 109 | 110 | autoreconf # in case the autoconf make files changed 111 | 112 | git archive --format=tar --prefix=fizsh-$new_version/ HEAD | (cd $(pwd)/ && tar xf -) 113 | 114 | rm -rf fizsh-$new_version/debian 115 | 116 | cd fizsh-$new_version 117 | 118 | tar -czf ../../fizsh-$new_version.tar.gz ./ 119 | 120 | cd .. 121 | 122 | rm -rf ./fizsh-$new_version 123 | rm -rf ./autom4te.cache 124 | 125 | cp ../fizsh-$new_version.tar.gz ../fizsh_$new_version.orig.tar.gz 126 | 127 | debuild -uc -us 128 | 129 | # run lintian 130 | 131 | lintian --display-info --display-experimental --pedantic --info --check --verbose --color auto ../fizsh_$new_version-1_*.changes 132 | 133 | # clean up 134 | 135 | ./debian/rules clean 136 | -------------------------------------------------------------------------------- /debian/changelog: -------------------------------------------------------------------------------- 1 | fizsh (1.0.9-1) unstable; urgency=low 2 | 3 | * New upstream release 4 | * Increased standards-version to 4.0.0. This did not cause an warnings 5 | * Updated years and authors in ./debian/copyright 6 | * Updated to version 1.0.9 in ./debian/rules 7 | 8 | -- Guido van Steen Mon, 31 Jul 2017 12:32:12 +0200 9 | 10 | fizsh (1.0.7-1) unstable; urgency=low 11 | 12 | * New upstream release 13 | * Increased standards-version to 3.9.5. This gave rise to 2 warnings: 14 | syntax-error-in-dep5-copyright and debian-watch-may-check-gpg-signature 15 | * Corrected the dep5 syntax errors in ./debian/copyright 16 | * Upgraded from dep5 to copyright-format 1.0 17 | * Updated the years in ./debian/copyright 18 | * Added the option "pgpsigurlmangle" to ./debian/watch 19 | * Added ./debian/upstream/signing-key.asc 20 | * Added ./debian/README.source with information on how to debianize a new 21 | version of fizsh 22 | * Increased debian/compat to '9' 23 | * Increased the Build-depend on debhelper to '(>= 9)' 24 | * Added a Build-depend on automake and autoconf to enable the build 25 | * Added a Build-depend on perl to enable the use of pod2man 26 | * Added override_dh_installman. This override causes pod2man to create the 27 | manpage. It also takes care of some cleaning 28 | * Added override_dh_builddeb. This override clean up the file man/fizsh.1, 29 | which is generated during the build process 30 | * Removed debian/fizsh.manpages because it is not needed anymore. 31 | override_dh_installman takes care of creating the man page 32 | * Removed the ./debian/patches directory and ./debian/source/options. 33 | Upstream corrected the issue, which the patch was addressing 34 | 35 | -- Guido van Steen Mon, 16 Jun 2014 12:12:29 +0200 36 | 37 | fizsh (1.0.2-1) unstable; urgency=low 38 | 39 | * Initial release (Closes: #611084) 40 | 41 | -- Guido van Steen Tue, 09 Aug 2011 12:46:42 +0700 42 | -------------------------------------------------------------------------------- /debian/compat: -------------------------------------------------------------------------------- 1 | 9 2 | -------------------------------------------------------------------------------- /debian/control: -------------------------------------------------------------------------------- 1 | Source: fizsh 2 | Section: shells 3 | Priority: optional 4 | Maintainer: Guido van Steen 5 | Build-Depends: debhelper (>= 9), autoconf, automake, perl 6 | Standards-Version: 4.0.0 7 | Homepage: http://sourceforge.net/projects/fizsh/ 8 | 9 | Package: fizsh 10 | Architecture: all 11 | Depends: ${misc:Depends}, zsh (>= 4.3.9) 12 | Description: Friendly Interactive ZSHell 13 | Fizsh is a frontend to Zsh. It provides the user with interactive syntax 14 | highlighting and a Matlab-like history search facility. At the same time it 15 | can handle Bourne syntax. 16 | -------------------------------------------------------------------------------- /debian/copyright: -------------------------------------------------------------------------------- 1 | Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ 2 | Upstream-Name: Fizsh 3 | Upstream-Contact: Guido van Steen 4 | Source: http://sourceforge.net/projects/fizsh/ 5 | 6 | Files: * 7 | Copyright: 2011-2017 Guido van Steen 8 | License: BSD-3-clause 9 | 10 | Files: scripts/*highlighter* 11 | Copyright: 2010-2011, zsh-syntax-highlighting contributors 12 | License: BSD-3-clause 13 | 14 | Files: scripts/zsh-history-substring-search.zsh 15 | Copyright: 2009, Peter Stephenson 16 | 2011, Guido van Steen 17 | 2011, Suraj N. Kurapati 18 | 2011, Sorin Ionescu 19 | 2011, Vincent Guerci 20 | 2016, Geza Lore 21 | 2017, Bengt Brodersen 22 | License: BSD-3-clause 23 | 24 | License: BSD-3-clause 25 | Redistribution and use in source and binary forms, with or without 26 | modification, are permitted provided that the following conditions are met: 27 | 1. Redistributions of source code must retain the above copyright notice, 28 | this list of conditions and the following disclaimer. 29 | 2. Redistributions in binary form must reproduce the above copyright notice, 30 | this list of conditions and the following disclaimer in the documentation 31 | and/or other materials provided with the distribution. 32 | 3. The name of the author may not be used to endorse or promote products 33 | derived from this software without specific prior written permission. 34 | . 35 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 36 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 37 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 38 | ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE 39 | LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 40 | CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 41 | SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 42 | INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 43 | CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 44 | ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 45 | POSSIBILITY OF SUCH DAMAGE. 46 | -------------------------------------------------------------------------------- /debian/docs: -------------------------------------------------------------------------------- 1 | ./debian/README.source 2 | -------------------------------------------------------------------------------- /debian/postinst: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # 3 | #DEBHELPER# 4 | # 5 | 6 | set -e 7 | 8 | fizsh=$(which fizsh) 9 | 10 | /etc/fizsh/modify-etc-shells.sh --add $fizsh 11 | 12 | exit 0 13 | -------------------------------------------------------------------------------- /debian/prerm: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # 3 | #DEBHELPER# 4 | # 5 | 6 | set -e 7 | 8 | fizsh=$(which fizsh) 9 | 10 | /etc/fizsh/modify-etc-shells.sh --remove $fizsh 11 | 12 | exit 0 13 | -------------------------------------------------------------------------------- /debian/rules: -------------------------------------------------------------------------------- 1 | #!/usr/bin/make -f 2 | # -*- makefile -*- 3 | # Sample debian/rules that uses debhelper. 4 | # This file was originally written by Joey Hess and Craig Small. 5 | # As a special exception, when this file is copied by dh-make into a 6 | # dh-make output file, you may use that output file without restriction. 7 | # This special exception was added by Craig Small in version 0.37 of dh-make. 8 | 9 | # Uncomment this to turn on verbose mode. 10 | #export DH_VERBOSE=1 11 | 12 | %: 13 | dh $@ 14 | 15 | # create the manpage using pod2man, which is a utility included in the perl 16 | # package. afterwards some cleaning is done. 17 | override_dh_installman: 18 | mkdir -p debian/pod2man 19 | pod2man --utf8 -c "" -r "fizsh 1.0.9" man/fizsh.pod > debian/pod2man/fizsh.1 20 | dh_installman debian/pod2man/fizsh.1 21 | rm -rf ./debian/pod2man/ 22 | 23 | # clean up ./man/fizsh.1, which is generated during the build process. 24 | override_dh_builddeb: 25 | dh_builddeb 26 | rm -rf ./man/fizsh.1 27 | -------------------------------------------------------------------------------- /debian/source/format: -------------------------------------------------------------------------------- 1 | 3.0 (quilt) 2 | -------------------------------------------------------------------------------- /debian/upstream/signing-key.asc: -------------------------------------------------------------------------------- 1 | -----BEGIN PGP PUBLIC KEY BLOCK----- 2 | Version: GnuPG v1.4.12 (GNU/Linux) 3 | 4 | mQENBE04EPQBCADpNKJKahErXzgl4j0gzNZc5WzgLRoVY/tXdUgyHB0lc9Z/z9Y5 5 | k24C6J4p+7HQxBF2csGdSP/hr2oUpsu1jWpYa52oDJMRU/nUZhvaB7V/DecABeyj 6 | 36z7J7/9WvjKfsKmZScr3BBg3DXtpQdr2xSC15tBIAY7oJPKIuUHKEWIXBJDLqEu 7 | 9bftTGxbeN9kARLYYEPygHeoWM8bTtyrH2xlt6r+gtR+3atzugHVrCN14mvQh6D8 8 | rG74w2DCk1WUyWW5vOQLwow09K287DEjOoObMnJmAqIPbtxQi4/xKok3fISFIbH7 9 | Rdizn24KrubCjhwC2MNHXeRpyZYdscaHNbn5ABEBAAG0MEd1aWRvIHZhbiBTdGVl 10 | biA8dmFuc3RlZW5AdXNlcnMuc291cmNlZm9yZ2UubmV0PokBOAQTAQIAIgUCTTgQ 11 | 9AIbAwYLCQgHAwIGFQgCCQoLBBYCAwECHgECF4AACgkQOiFxajItjPayNwgA5nzu 12 | ZOoKc/4tmMudiZ/5ftORNdm1CMfRfBHvROOHxKxQ5x0j+8bJ5CIWM/8RN7wUJCEs 13 | 8Vgt8nrpo1c7S+X4riD7D+RBImUvQkpyvKGdMC/HZHco32PjmIZVjjpA+FJXW/t4 14 | vL6PeD/N/4kN+gwNyZ5U1AMGs6QojhSk/vy7Zh4nY5CNiuOJmSrRcSEX7XZQEWyu 15 | VB2YzLRoO5ZnDkLtEBmh0Tx/MU2H/XxdeYIoIu2IM5qh0lpf1t98lwSncCrzFFvN 16 | 3QQZoOO/nL1qgRBdU/OBqxf/jy10SFNmEVwZyfj6BQBm5wIDUhuDbG1H/nXl/KOP 17 | lBuLNJlhsDB/qh7fn7kBDQRNOBD0AQgAvJwCjQP+zONudcX5RCDNCDJLbpnXXQhI 18 | yfapneuZFrWc2NMVmEUphTM9OG4DyPfU/Xenm/IoMQDRFhNbwOTZhWjgJhEx2QEC 19 | dtNt8YMWfMCMQFFzp8T2xQ91H1NAOxeI1SnnyqgSnTI3K4cei1RCMUAusg6+vmPK 20 | 3U0Bnhb3IS2FIEjPrxAQmOnJYPQM3GWxCyQqxeRLRGSyof0CdGPZnUoHhwYTnQPF 21 | +RS/UQvegIRchRA4KVIWvYmP4iPqr9nwh9xFjnm0kXt7xfEZwJ5OZgp457f356Sr 22 | e5Y6zKLy9yaeRRsnO3yIySG4klzDIUKd6NpzJ2woQ4tbxWG8DXBNTQARAQABiQEf 23 | BBgBAgAJBQJNOBD0AhsMAAoJEDohcWoyLYz2BI8IAKdwpY1iRuyarb9xE6xjkzT+ 24 | v7jrKXXxBKxNJEvKG75urcKT0kt05Wb1GBw6JC4iLIBnx9+054vye0U1V/f+WIrp 25 | dX9ghd08vBPeULZUUyil7M0FGFKnZ8/9YmmnHDqOYh6MzOXBZHPH1xopBEcqxomo 26 | W2vN5HJ1ocSHejO7mLv6zsxXL0xLAnPXaW12Ve1MGNx9GSAPpfhvJ224XdtEVzCX 27 | QvhczF04w2bu7LUiaJHP6QwioU8g3ihquzBWay9tjOCHWE4Zxm0RVk0lBHl9xaV/ 28 | 8zvppxARkho/dUXX35SCqGNXo6fYg2v6stf4+Ocf+G4PaRxC7bnTq5aiWDQu6n8= 29 | =wGMv 30 | -----END PGP PUBLIC KEY BLOCK----- 31 | -------------------------------------------------------------------------------- /debian/watch: -------------------------------------------------------------------------------- 1 | version=3 2 | 3 | options=pgpsigurlmangle=s/$/.asc/ \ 4 | http://sf.net/fizsh/fizsh-([0-9]\.[0-9]\.[0-9]+)\.tar\.gz 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /doc/Makefile.am: -------------------------------------------------------------------------------- 1 | docdir = $(datadir)/doc/@PACKAGE@ 2 | doc_DATA = copyright changelog 3 | -------------------------------------------------------------------------------- /doc/Makefile.in: -------------------------------------------------------------------------------- 1 | # Makefile.in generated by automake 1.15 from Makefile.am. 2 | # @configure_input@ 3 | 4 | # Copyright (C) 1994-2014 Free Software Foundation, Inc. 5 | 6 | # This Makefile.in is free software; the Free Software Foundation 7 | # gives unlimited permission to copy and/or distribute it, 8 | # with or without modifications, as long as this notice is preserved. 9 | 10 | # This program is distributed in the hope that it will be useful, 11 | # but WITHOUT ANY WARRANTY, to the extent permitted by law; without 12 | # even the implied warranty of MERCHANTABILITY or FITNESS FOR A 13 | # PARTICULAR PURPOSE. 14 | 15 | @SET_MAKE@ 16 | 17 | VPATH = @srcdir@ 18 | am__is_gnu_make = { \ 19 | if test -z '$(MAKELEVEL)'; then \ 20 | false; \ 21 | elif test -n '$(MAKE_HOST)'; then \ 22 | true; \ 23 | elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ 24 | true; \ 25 | else \ 26 | false; \ 27 | fi; \ 28 | } 29 | am__make_running_with_option = \ 30 | case $${target_option-} in \ 31 | ?) ;; \ 32 | *) echo "am__make_running_with_option: internal error: invalid" \ 33 | "target option '$${target_option-}' specified" >&2; \ 34 | exit 1;; \ 35 | esac; \ 36 | has_opt=no; \ 37 | sane_makeflags=$$MAKEFLAGS; \ 38 | if $(am__is_gnu_make); then \ 39 | sane_makeflags=$$MFLAGS; \ 40 | else \ 41 | case $$MAKEFLAGS in \ 42 | *\\[\ \ ]*) \ 43 | bs=\\; \ 44 | sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ 45 | | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ 46 | esac; \ 47 | fi; \ 48 | skip_next=no; \ 49 | strip_trailopt () \ 50 | { \ 51 | flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ 52 | }; \ 53 | for flg in $$sane_makeflags; do \ 54 | test $$skip_next = yes && { skip_next=no; continue; }; \ 55 | case $$flg in \ 56 | *=*|--*) continue;; \ 57 | -*I) strip_trailopt 'I'; skip_next=yes;; \ 58 | -*I?*) strip_trailopt 'I';; \ 59 | -*O) strip_trailopt 'O'; skip_next=yes;; \ 60 | -*O?*) strip_trailopt 'O';; \ 61 | -*l) strip_trailopt 'l'; skip_next=yes;; \ 62 | -*l?*) strip_trailopt 'l';; \ 63 | -[dEDm]) skip_next=yes;; \ 64 | -[JT]) skip_next=yes;; \ 65 | esac; \ 66 | case $$flg in \ 67 | *$$target_option*) has_opt=yes; break;; \ 68 | esac; \ 69 | done; \ 70 | test $$has_opt = yes 71 | am__make_dryrun = (target_option=n; $(am__make_running_with_option)) 72 | am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) 73 | pkgdatadir = $(datadir)/@PACKAGE@ 74 | pkgincludedir = $(includedir)/@PACKAGE@ 75 | pkglibdir = $(libdir)/@PACKAGE@ 76 | pkglibexecdir = $(libexecdir)/@PACKAGE@ 77 | am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd 78 | install_sh_DATA = $(install_sh) -c -m 644 79 | install_sh_PROGRAM = $(install_sh) -c 80 | install_sh_SCRIPT = $(install_sh) -c 81 | INSTALL_HEADER = $(INSTALL_DATA) 82 | transform = $(program_transform_name) 83 | NORMAL_INSTALL = : 84 | PRE_INSTALL = : 85 | POST_INSTALL = : 86 | NORMAL_UNINSTALL = : 87 | PRE_UNINSTALL = : 88 | POST_UNINSTALL = : 89 | subdir = doc 90 | ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 91 | am__aclocal_m4_deps = $(top_srcdir)/configure.ac 92 | am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ 93 | $(ACLOCAL_M4) 94 | DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) 95 | mkinstalldirs = $(install_sh) -d 96 | CONFIG_CLEAN_FILES = 97 | CONFIG_CLEAN_VPATH_FILES = 98 | AM_V_P = $(am__v_P_@AM_V@) 99 | am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) 100 | am__v_P_0 = false 101 | am__v_P_1 = : 102 | AM_V_GEN = $(am__v_GEN_@AM_V@) 103 | am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) 104 | am__v_GEN_0 = @echo " GEN " $@; 105 | am__v_GEN_1 = 106 | AM_V_at = $(am__v_at_@AM_V@) 107 | am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) 108 | am__v_at_0 = @ 109 | am__v_at_1 = 110 | SOURCES = 111 | DIST_SOURCES = 112 | am__can_run_installinfo = \ 113 | case $$AM_UPDATE_INFO_DIR in \ 114 | n|no|NO) false;; \ 115 | *) (install-info --version) >/dev/null 2>&1;; \ 116 | esac 117 | am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; 118 | am__vpath_adj = case $$p in \ 119 | $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ 120 | *) f=$$p;; \ 121 | esac; 122 | am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; 123 | am__install_max = 40 124 | am__nobase_strip_setup = \ 125 | srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` 126 | am__nobase_strip = \ 127 | for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" 128 | am__nobase_list = $(am__nobase_strip_setup); \ 129 | for p in $$list; do echo "$$p $$p"; done | \ 130 | sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ 131 | $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ 132 | if (++n[$$2] == $(am__install_max)) \ 133 | { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ 134 | END { for (dir in files) print dir, files[dir] }' 135 | am__base_list = \ 136 | sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ 137 | sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' 138 | am__uninstall_files_from_dir = { \ 139 | test -z "$$files" \ 140 | || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ 141 | || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ 142 | $(am__cd) "$$dir" && rm -f $$files; }; \ 143 | } 144 | am__installdirs = "$(DESTDIR)$(docdir)" 145 | DATA = $(doc_DATA) 146 | am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) 147 | am__DIST_COMMON = $(srcdir)/Makefile.in 148 | DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) 149 | ACLOCAL = @ACLOCAL@ 150 | AMTAR = @AMTAR@ 151 | AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ 152 | AUTOCONF = @AUTOCONF@ 153 | AUTOHEADER = @AUTOHEADER@ 154 | AUTOMAKE = @AUTOMAKE@ 155 | AWK = @AWK@ 156 | CYGPATH_W = @CYGPATH_W@ 157 | DEFS = @DEFS@ 158 | ECHO_C = @ECHO_C@ 159 | ECHO_N = @ECHO_N@ 160 | ECHO_T = @ECHO_T@ 161 | INSTALL = @INSTALL@ 162 | INSTALL_DATA = @INSTALL_DATA@ 163 | INSTALL_PROGRAM = @INSTALL_PROGRAM@ 164 | INSTALL_SCRIPT = @INSTALL_SCRIPT@ 165 | INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ 166 | LIBOBJS = @LIBOBJS@ 167 | LIBS = @LIBS@ 168 | LTLIBOBJS = @LTLIBOBJS@ 169 | MAINT = @MAINT@ 170 | MAKEINFO = @MAKEINFO@ 171 | MKDIR_P = @MKDIR_P@ 172 | PACKAGE = @PACKAGE@ 173 | PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ 174 | PACKAGE_NAME = @PACKAGE_NAME@ 175 | PACKAGE_STRING = @PACKAGE_STRING@ 176 | PACKAGE_TARNAME = @PACKAGE_TARNAME@ 177 | PACKAGE_URL = @PACKAGE_URL@ 178 | PACKAGE_VERSION = @PACKAGE_VERSION@ 179 | PATH_SEPARATOR = @PATH_SEPARATOR@ 180 | POD2MAN = @POD2MAN@ 181 | SET_MAKE = @SET_MAKE@ 182 | SHELL = @SHELL@ 183 | STRIP = @STRIP@ 184 | VERSION = @VERSION@ 185 | abs_builddir = @abs_builddir@ 186 | abs_srcdir = @abs_srcdir@ 187 | abs_top_builddir = @abs_top_builddir@ 188 | abs_top_srcdir = @abs_top_srcdir@ 189 | am__leading_dot = @am__leading_dot@ 190 | am__tar = @am__tar@ 191 | am__untar = @am__untar@ 192 | bindir = @bindir@ 193 | build_alias = @build_alias@ 194 | builddir = @builddir@ 195 | datadir = @datadir@ 196 | datarootdir = @datarootdir@ 197 | docdir = $(datadir)/doc/@PACKAGE@ 198 | dvidir = @dvidir@ 199 | exec_prefix = @exec_prefix@ 200 | host_alias = @host_alias@ 201 | htmldir = @htmldir@ 202 | includedir = @includedir@ 203 | infodir = @infodir@ 204 | install_sh = @install_sh@ 205 | libdir = @libdir@ 206 | libexecdir = @libexecdir@ 207 | localedir = @localedir@ 208 | localstatedir = @localstatedir@ 209 | mandir = @mandir@ 210 | mkdir_p = @mkdir_p@ 211 | oldincludedir = @oldincludedir@ 212 | pdfdir = @pdfdir@ 213 | prefix = @prefix@ 214 | program_transform_name = @program_transform_name@ 215 | psdir = @psdir@ 216 | runstatedir = @runstatedir@ 217 | sbindir = @sbindir@ 218 | sharedstatedir = @sharedstatedir@ 219 | srcdir = @srcdir@ 220 | sysconfdir = @sysconfdir@ 221 | target_alias = @target_alias@ 222 | top_build_prefix = @top_build_prefix@ 223 | top_builddir = @top_builddir@ 224 | top_srcdir = @top_srcdir@ 225 | doc_DATA = copyright changelog 226 | all: all-am 227 | 228 | .SUFFIXES: 229 | $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) 230 | @for dep in $?; do \ 231 | case '$(am__configure_deps)' in \ 232 | *$$dep*) \ 233 | ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ 234 | && { if test -f $@; then exit 0; else break; fi; }; \ 235 | exit 1;; \ 236 | esac; \ 237 | done; \ 238 | echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu doc/Makefile'; \ 239 | $(am__cd) $(top_srcdir) && \ 240 | $(AUTOMAKE) --gnu doc/Makefile 241 | Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status 242 | @case '$?' in \ 243 | *config.status*) \ 244 | cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ 245 | *) \ 246 | echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ 247 | cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ 248 | esac; 249 | 250 | $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) 251 | cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh 252 | 253 | $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) 254 | cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh 255 | $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) 256 | cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh 257 | $(am__aclocal_m4_deps): 258 | install-docDATA: $(doc_DATA) 259 | @$(NORMAL_INSTALL) 260 | @list='$(doc_DATA)'; test -n "$(docdir)" || list=; \ 261 | if test -n "$$list"; then \ 262 | echo " $(MKDIR_P) '$(DESTDIR)$(docdir)'"; \ 263 | $(MKDIR_P) "$(DESTDIR)$(docdir)" || exit 1; \ 264 | fi; \ 265 | for p in $$list; do \ 266 | if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ 267 | echo "$$d$$p"; \ 268 | done | $(am__base_list) | \ 269 | while read files; do \ 270 | echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(docdir)'"; \ 271 | $(INSTALL_DATA) $$files "$(DESTDIR)$(docdir)" || exit $$?; \ 272 | done 273 | 274 | uninstall-docDATA: 275 | @$(NORMAL_UNINSTALL) 276 | @list='$(doc_DATA)'; test -n "$(docdir)" || list=; \ 277 | files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ 278 | dir='$(DESTDIR)$(docdir)'; $(am__uninstall_files_from_dir) 279 | tags TAGS: 280 | 281 | ctags CTAGS: 282 | 283 | cscope cscopelist: 284 | 285 | 286 | distdir: $(DISTFILES) 287 | @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ 288 | topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ 289 | list='$(DISTFILES)'; \ 290 | dist_files=`for file in $$list; do echo $$file; done | \ 291 | sed -e "s|^$$srcdirstrip/||;t" \ 292 | -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ 293 | case $$dist_files in \ 294 | */*) $(MKDIR_P) `echo "$$dist_files" | \ 295 | sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ 296 | sort -u` ;; \ 297 | esac; \ 298 | for file in $$dist_files; do \ 299 | if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ 300 | if test -d $$d/$$file; then \ 301 | dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ 302 | if test -d "$(distdir)/$$file"; then \ 303 | find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ 304 | fi; \ 305 | if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ 306 | cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ 307 | find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ 308 | fi; \ 309 | cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ 310 | else \ 311 | test -f "$(distdir)/$$file" \ 312 | || cp -p $$d/$$file "$(distdir)/$$file" \ 313 | || exit 1; \ 314 | fi; \ 315 | done 316 | check-am: all-am 317 | check: check-am 318 | all-am: Makefile $(DATA) 319 | installdirs: 320 | for dir in "$(DESTDIR)$(docdir)"; do \ 321 | test -z "$$dir" || $(MKDIR_P) "$$dir"; \ 322 | done 323 | install: install-am 324 | install-exec: install-exec-am 325 | install-data: install-data-am 326 | uninstall: uninstall-am 327 | 328 | install-am: all-am 329 | @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am 330 | 331 | installcheck: installcheck-am 332 | install-strip: 333 | if test -z '$(STRIP)'; then \ 334 | $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ 335 | install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ 336 | install; \ 337 | else \ 338 | $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ 339 | install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ 340 | "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ 341 | fi 342 | mostlyclean-generic: 343 | 344 | clean-generic: 345 | 346 | distclean-generic: 347 | -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) 348 | -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) 349 | 350 | maintainer-clean-generic: 351 | @echo "This command is intended for maintainers to use" 352 | @echo "it deletes files that may require special tools to rebuild." 353 | clean: clean-am 354 | 355 | clean-am: clean-generic mostlyclean-am 356 | 357 | distclean: distclean-am 358 | -rm -f Makefile 359 | distclean-am: clean-am distclean-generic 360 | 361 | dvi: dvi-am 362 | 363 | dvi-am: 364 | 365 | html: html-am 366 | 367 | html-am: 368 | 369 | info: info-am 370 | 371 | info-am: 372 | 373 | install-data-am: install-docDATA 374 | 375 | install-dvi: install-dvi-am 376 | 377 | install-dvi-am: 378 | 379 | install-exec-am: 380 | 381 | install-html: install-html-am 382 | 383 | install-html-am: 384 | 385 | install-info: install-info-am 386 | 387 | install-info-am: 388 | 389 | install-man: 390 | 391 | install-pdf: install-pdf-am 392 | 393 | install-pdf-am: 394 | 395 | install-ps: install-ps-am 396 | 397 | install-ps-am: 398 | 399 | installcheck-am: 400 | 401 | maintainer-clean: maintainer-clean-am 402 | -rm -f Makefile 403 | maintainer-clean-am: distclean-am maintainer-clean-generic 404 | 405 | mostlyclean: mostlyclean-am 406 | 407 | mostlyclean-am: mostlyclean-generic 408 | 409 | pdf: pdf-am 410 | 411 | pdf-am: 412 | 413 | ps: ps-am 414 | 415 | ps-am: 416 | 417 | uninstall-am: uninstall-docDATA 418 | 419 | .MAKE: install-am install-strip 420 | 421 | .PHONY: all all-am check check-am clean clean-generic cscopelist-am \ 422 | ctags-am distclean distclean-generic distdir dvi dvi-am html \ 423 | html-am info info-am install install-am install-data \ 424 | install-data-am install-docDATA install-dvi install-dvi-am \ 425 | install-exec install-exec-am install-html install-html-am \ 426 | install-info install-info-am install-man install-pdf \ 427 | install-pdf-am install-ps install-ps-am install-strip \ 428 | installcheck installcheck-am installdirs maintainer-clean \ 429 | maintainer-clean-generic mostlyclean mostlyclean-generic pdf \ 430 | pdf-am ps ps-am tags-am uninstall uninstall-am \ 431 | uninstall-docDATA 432 | 433 | .PRECIOUS: Makefile 434 | 435 | 436 | # Tell versions [3.59,3.63) of GNU make to not export all variables. 437 | # Otherwise a system limit (for SysV at least) may be exceeded. 438 | .NOEXPORT: 439 | -------------------------------------------------------------------------------- /doc/changelog: -------------------------------------------------------------------------------- 1 | fizsh (1.0.9) UPSTREAM; urgency=low 2 | 3 | * Release: 1.0.9 4 | 5 | * Update to latest version of zsh-history-substring-search 6 | 7 | * Update to latest version of zsh-syntax-highlighting 8 | 9 | * Use exec instead of fork when starting zsh 10 | 11 | * Move login and goodbye to .zprofile and .zlogout 12 | 13 | * Turn zsh into an alias so that it does call fizsh 14 | 15 | * Make prompt code more readable and reliable 16 | 17 | * Tidy some existing code 18 | 19 | fizsh (1.0.8) UPSTREAM; urgency=low 20 | 21 | * Release: 1.0.8 22 | 23 | * In ./scripts/fizsh a function _fizsh_cp_u was defined to provide 24 | a portable implementation of "cp -u" from GNU coreutils. 25 | 26 | * In ./scripts/fizsh instances of sed -e "s/bin/etc/i" were replaced 27 | by sed -e "s/bin/etc/" 28 | 29 | * In ./scripts/fizshrc.zsh compinit was replaced by compinit -u. 30 | 31 | fizsh (1.0.7) UPSTREAM; urgency=low 32 | 33 | * Release: 1.0.7 34 | 35 | * Added some content to ./README 36 | 37 | * Added AM_MAINTAINER_MODE to ./configure.ac 38 | 39 | * Removed the ./src ./examples directories, which were not used anyway 40 | 41 | * Removed some of the files generated by autotools (e.g. ./Makefile etc.) 42 | 43 | * Removed dist_pkgdata_DATA from ./Makefile.am 44 | 45 | * Added the doc and scripts directories to EXTRA_DIST in ./Makefile.am 46 | 47 | * Extended dist-hook in ./Makefile.am, so that that "make dist" excludes 48 | some automatically generated files 49 | 50 | -- Guido van Steen Sat, 14 Jun 2014 22:23:47 +0200 51 | 52 | fizsh (1.0.6) UPSTREAM; urgency=low 53 | 54 | * Release: 1.0.6 55 | 56 | * Directional codes are now more portable (see: http://www.zsh.org/mla/users/2014/msg00583.html) 57 | 58 | * Fizsh can now be installed by an unpriviliged account. This corrects https://github.com/zsh-users/fizsh/issues/3 59 | 60 | * The local update system has been removed 61 | 62 | * The versioning system has been simplified 63 | 64 | * Updated to a recent version of zsh-history-substring-search from https://github.com/zsh-users 65 | 66 | * Updated to a recent version of zsh-syntax-highlighting from https://github.com/zsh-users 67 | 68 | -- Guido van Steen Fri, 06 Jun 2014 19:31:06 +0200 69 | 70 | fizsh (1.0.5) UPSTREAM; urgency=low 71 | 72 | * Release: 1.0.5 73 | 74 | * Corrected a bug with respect to the versioning system. 75 | 76 | -- Guido van Steen Sun, 23 Oct 2011 13:35:20 +0200 77 | 78 | fizsh (1.0.4) UPSTREAM; urgency=low 79 | 80 | * Release: 1.0.4 81 | 82 | * Simplified the way fizsh finds its own central version number. "$_fizsh_F_CENTRAL_VERSION" is now hardcoded as an environment variable in the "fizsh" script under the "./scripts" directory 83 | 84 | * Updated autoconf's "./configure.ac", which had been not been done for version 1.0.3 85 | 86 | -- Guido van Steen Thu, 20 Oct 2011 12:34:21 +0200 87 | 88 | fizsh (1.0.3) UPSTREAM; urgency=low 89 | 90 | * Release: 1.0.3 91 | 92 | * Downloaded a recent version of zsh-history-substring-search from https://github.com/zsh-users (Wed, 12 Oct 2011 06:59:19 +0200) 93 | 94 | * Downloaded a recent version of zsh-syntax-highlighting from https://github.com/zsh-users (Wed, 12 Oct 2011 06:59:38 +0200) 95 | 96 | * Removed the startup options -r or --reinstall again. Reinstalling fizsh is now handled by calling a function "fizsh-reinstall" 97 | 98 | * Added a function "fizsh-upgrade", which enables the user to perform upgrades through the internet 99 | 100 | * Added a script "fizsh-miscellaneous.zsh", which corrects some small bugs in "zsh-history-substring-search". "fizsh-miscellaneous.zsh" also provides the functions "fizsh-upgrade" and "fizsh-reinstall" 101 | 102 | * Prefixed all shell variables and functions with either "_fizsh" or "fizsh". An underscore indicates that a variale is meant for internal purposes. This conforms to the naming conventions that "oh-my-zsh" uses 103 | 104 | -- Guido van Steen Wed, 12 Oct 2011 06:56:56 +0200 105 | 106 | fizsh (1.0.2) UPSTREAM; urgency=low 107 | 108 | * Release: 1.0.2 109 | 110 | * Downloaded a recent version of zsh-history-substring-search from https://github.com/zsh-users (Tue, 09 Aug 2011 10:52:28 +0700) 111 | 112 | * Downloaded a recent version of zsh-syntax-highlighting from https://github.com/zsh-users (Tue, 09 Aug 2011 10:53:02 +0700) 113 | 114 | * Added the startup options -r or --reinstall 115 | 116 | * This version of Fizsh does not use md5sum anymore in order to find out if certain files have to be reinstalled 117 | 118 | * Added the extension ".zsh" to the scripts to be installed in /etc/fizsh 119 | 120 | * Renamed some shell scripts according to the current naming used at https://github.com/zsh-users 121 | 122 | -- Guido van Steen Tue, 09 Aug 2011 10:59:05 +0700 123 | 124 | fizsh (1.0.1) UPSTREAM; urgency=low 125 | 126 | * Release: 1.0.1 127 | 128 | * Corrected a bug in /etc/fizsh/fizshrc (exit and logout caused fizsh to hang on Fedora (and perhaps on some other platforms too) 129 | 130 | * Corrected a bug in /etc/fizsh/zsh-syntax-highlighting (pressing arrow-down would not highlight anything if the CURSOR was within BUFFER, and no matches were found) 131 | 132 | * Corrected a bug in /etc/fizsh/zsh-syntax-highlighting (starting a command with "-", "\-" or "-\" caused zsh to complain: "_zsh_check-path:4: bad option: -t") 133 | 134 | * Corrected a bug in /usr/bin/modify_etc_shells (this script tried to remove "/usr/bin/fizsh" from "/etc/shells" without checking if fizsh had indeed been installed in "/usr/bin/". Now it safely removes "$(which fizsh)" from "/etc/shells") 135 | 136 | * Corrected a bug in /usr/bin/fizsh (echoing "reverting to zsh" in "/usr/bin/fizsh" prevented "ssh - and thus scp and sftp - from logging into fizsh) 137 | 138 | * Adapted the build-system to automake 139 | 140 | * Added the startup options -h or --help and -l or --login 141 | 142 | * Moved and renamed /usr/bin/modify_etc_shells to /etc/fizsh/modify-etc-shells. modify_etc_shells's manpage has been removed 143 | 144 | * Shortened directory names appearing in the prompt : "/usr/bin" -> /u/bin; "~/Documents/2011" -> ~/D/2011 (this is like in fish's prompt) 145 | 146 | * Gave root a red prompt 147 | 148 | * Performed some garbage collection in the fizsh scripts 149 | 150 | * Improved the structure of the program 151 | 152 | -- Guido van Steen Mon, 31 Jan 2011 20:23:22 +0100 153 | 154 | fizsh (1.0.0) UPSTREAM; urgency=low 155 | 156 | * Release: 1.0.0 157 | 158 | * Renamed /etc/fizsh/fizsh-history-search-backward to /etc/fizsh/zsh-history-substring-search-backward 159 | 160 | * Corrected bugs in /etc/fizsh/zsh-history-substring-search-backward 161 | 162 | * Turned /etc/fizsh/zsh-history-substring-search-backward into a sourcable plugin 163 | 164 | * Adapted the other scripts where necessary 165 | 166 | * Removed confusing messages from the file /etc/fizsh/modify_etc_shells 167 | 168 | -- Guido van Steen Sat, 15 Jan 2011 23:04:34 +0100 169 | 170 | fizsh (0.0.1-2) UPSTREAM; urgency=low 171 | 172 | * Release: 0.0.1-2 173 | 174 | * Included an updated version of https://github.com/nicoulaj/zsh-syntax-highlighting/raw/master/zsh-syntax-highlighting.zsh 175 | 176 | * Adjusted copy-right information with respect to zsh-syntax-highlighting.zsh 177 | 178 | -- Guido van Steen Tue, 11 Jan 2011 20:40:31 +0100 179 | 180 | fizsh (0.0.1-1) UPSTREAM; urgency=low 181 | 182 | * Initial release: release 0.0.1-1 183 | 184 | -- Guido van Steen Sat, 08 Jan 2011 23:13:07 +0100 185 | -------------------------------------------------------------------------------- /doc/copyright: -------------------------------------------------------------------------------- 1 | *** Apart from the files ./etc/fizsh/zsh-syntax-highlighting.zsh, ./etc/fizsh/brackets-highlighter.zsh, ./etc/fizsh/cursor-highlighter.zsh, ./etc/fizsh/line-highlighter.zsh, ./etc/fizsh/main-highlighter.zsh, ./etc/fizsh/pattern-highlighter.zsh, ./etc/fizsh/root-highlighter.zsh and ./etc/fizsh/zsh-history-substring-search.zsh, fizsh is released under the following BSD license: 2 | 3 | Copyright (c) 2011 - 2017 Guido van Steen 4 | All rights reserved. 5 | 6 | Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 7 | 8 | * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 9 | * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 10 | * Neither the name of FIZSH nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. 11 | 12 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 13 | 14 | *** The files ./etc/fizsh/zsh-syntax-highlighting.zsh, ./etc/fizsh/brackets-highlighter.zsh, ./etc/fizsh/cursor-highlighter.zsh, ./etc/fizsh/line-highlighter.zsh, ./etc/fizsh/main-highlighter.zsh, ./etc/fizsh/pattern-highlighter.zsh, ./etc/fizsh/root-highlighter.zsh were extracted from https://github.com/zsh-users/zsh-syntax-highlighting/archive/master.zip. These files have been released under the following BSD license: 15 | 16 | Copyright (c) 2010-2016 zsh-syntax-highlighting contributors 17 | All rights reserved. 18 | 19 | Redistribution and use in source and binary forms, with or without modification, are permitted 20 | provided that the following conditions are met: 21 | 22 | * Redistributions of source code must retain the above copyright notice, this list of conditions 23 | and the following disclaimer. 24 | * Redistributions in binary form must reproduce the above copyright notice, this list of 25 | conditions and the following disclaimer in the documentation and/or other materials provided 26 | with the distribution. 27 | * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors 28 | may be used to endorse or promote products derived from this software without specific prior 29 | written permission. 30 | 31 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR 32 | IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND 33 | FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR 34 | CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 35 | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 36 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER 37 | IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT 38 | OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 39 | 40 | *** The file ./etc/fizsh/zsh-history-substring-search.zsh was extracted from https://github.com/zsh-users/zsh-history-substring-search/archive/v1.0.0.tar.gz. This file has been released under the following BSD license: 41 | 42 | ############################################################################## 43 | # 44 | # Copyright (c) 2009 Peter Stephenson 45 | # Copyright (c) 2011 - 2017 Guido van Steen 46 | # Copyright (c) 2011 Suraj N. Kurapati 47 | # Copyright (c) 2011 Sorin Ionescu 48 | # Copyright (c) 2011 Vincent Guerci 49 | # Copyright (c) 2016 Geza Lore 50 | # Copyright (c) 2017 Bengt Brodersen 51 | # All rights reserved. 52 | # 53 | # Redistribution and use in source and binary forms, with or without 54 | # modification, are permitted provided that the following conditions are met: 55 | # 56 | # * Redistributions of source code must retain the above copyright 57 | # notice, this list of conditions and the following disclaimer. 58 | # 59 | # * Redistributions in binary form must reproduce the above 60 | # copyright notice, this list of conditions and the following 61 | # disclaimer in the documentation and/or other materials provided 62 | # with the distribution. 63 | # 64 | # * Neither the name of the FIZSH nor the names of its contributors 65 | # may be used to endorse or promote products derived from this 66 | # software without specific prior written permission. 67 | # 68 | # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 69 | # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 70 | # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 71 | # ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE 72 | # LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 73 | # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 74 | # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 75 | # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 76 | # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 77 | # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 78 | # POSSIBILITY OF SUCH DAMAGE. 79 | # 80 | ############################################################################## 81 | -------------------------------------------------------------------------------- /install-sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # install - install a program, script, or datafile 3 | 4 | scriptversion=2011-01-19.21; # UTC 5 | 6 | # This originates from X11R5 (mit/util/scripts/install.sh), which was 7 | # later released in X11R6 (xc/config/util/install.sh) with the 8 | # following copyright and license. 9 | # 10 | # Copyright (C) 1994 X Consortium 11 | # 12 | # Permission is hereby granted, free of charge, to any person obtaining a copy 13 | # of this software and associated documentation files (the "Software"), to 14 | # deal in the Software without restriction, including without limitation the 15 | # rights to use, copy, modify, merge, publish, distribute, sublicense, and/or 16 | # sell copies of the Software, and to permit persons to whom the Software is 17 | # furnished to do so, subject to the following conditions: 18 | # 19 | # The above copyright notice and this permission notice shall be included in 20 | # all copies or substantial portions of the Software. 21 | # 22 | # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 23 | # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 24 | # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 25 | # X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN 26 | # AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC- 27 | # TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 28 | # 29 | # Except as contained in this notice, the name of the X Consortium shall not 30 | # be used in advertising or otherwise to promote the sale, use or other deal- 31 | # ings in this Software without prior written authorization from the X Consor- 32 | # tium. 33 | # 34 | # 35 | # FSF changes to this file are in the public domain. 36 | # 37 | # Calling this script install-sh is preferred over install.sh, to prevent 38 | # `make' implicit rules from creating a file called install from it 39 | # when there is no Makefile. 40 | # 41 | # This script is compatible with the BSD install script, but was written 42 | # from scratch. 43 | 44 | nl=' 45 | ' 46 | IFS=" "" $nl" 47 | 48 | # set DOITPROG to echo to test this script 49 | 50 | # Don't use :- since 4.3BSD and earlier shells don't like it. 51 | doit=${DOITPROG-} 52 | if test -z "$doit"; then 53 | doit_exec=exec 54 | else 55 | doit_exec=$doit 56 | fi 57 | 58 | # Put in absolute file names if you don't have them in your path; 59 | # or use environment vars. 60 | 61 | chgrpprog=${CHGRPPROG-chgrp} 62 | chmodprog=${CHMODPROG-chmod} 63 | chownprog=${CHOWNPROG-chown} 64 | cmpprog=${CMPPROG-cmp} 65 | cpprog=${CPPROG-cp} 66 | mkdirprog=${MKDIRPROG-mkdir} 67 | mvprog=${MVPROG-mv} 68 | rmprog=${RMPROG-rm} 69 | stripprog=${STRIPPROG-strip} 70 | 71 | posix_glob='?' 72 | initialize_posix_glob=' 73 | test "$posix_glob" != "?" || { 74 | if (set -f) 2>/dev/null; then 75 | posix_glob= 76 | else 77 | posix_glob=: 78 | fi 79 | } 80 | ' 81 | 82 | posix_mkdir= 83 | 84 | # Desired mode of installed file. 85 | mode=0755 86 | 87 | chgrpcmd= 88 | chmodcmd=$chmodprog 89 | chowncmd= 90 | mvcmd=$mvprog 91 | rmcmd="$rmprog -f" 92 | stripcmd= 93 | 94 | src= 95 | dst= 96 | dir_arg= 97 | dst_arg= 98 | 99 | copy_on_change=false 100 | no_target_directory= 101 | 102 | usage="\ 103 | Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE 104 | or: $0 [OPTION]... SRCFILES... DIRECTORY 105 | or: $0 [OPTION]... -t DIRECTORY SRCFILES... 106 | or: $0 [OPTION]... -d DIRECTORIES... 107 | 108 | In the 1st form, copy SRCFILE to DSTFILE. 109 | In the 2nd and 3rd, copy all SRCFILES to DIRECTORY. 110 | In the 4th, create DIRECTORIES. 111 | 112 | Options: 113 | --help display this help and exit. 114 | --version display version info and exit. 115 | 116 | -c (ignored) 117 | -C install only if different (preserve the last data modification time) 118 | -d create directories instead of installing files. 119 | -g GROUP $chgrpprog installed files to GROUP. 120 | -m MODE $chmodprog installed files to MODE. 121 | -o USER $chownprog installed files to USER. 122 | -s $stripprog installed files. 123 | -t DIRECTORY install into DIRECTORY. 124 | -T report an error if DSTFILE is a directory. 125 | 126 | Environment variables override the default commands: 127 | CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG 128 | RMPROG STRIPPROG 129 | " 130 | 131 | while test $# -ne 0; do 132 | case $1 in 133 | -c) ;; 134 | 135 | -C) copy_on_change=true;; 136 | 137 | -d) dir_arg=true;; 138 | 139 | -g) chgrpcmd="$chgrpprog $2" 140 | shift;; 141 | 142 | --help) echo "$usage"; exit $?;; 143 | 144 | -m) mode=$2 145 | case $mode in 146 | *' '* | *' '* | *' 147 | '* | *'*'* | *'?'* | *'['*) 148 | echo "$0: invalid mode: $mode" >&2 149 | exit 1;; 150 | esac 151 | shift;; 152 | 153 | -o) chowncmd="$chownprog $2" 154 | shift;; 155 | 156 | -s) stripcmd=$stripprog;; 157 | 158 | -t) dst_arg=$2 159 | # Protect names problematic for `test' and other utilities. 160 | case $dst_arg in 161 | -* | [=\(\)!]) dst_arg=./$dst_arg;; 162 | esac 163 | shift;; 164 | 165 | -T) no_target_directory=true;; 166 | 167 | --version) echo "$0 $scriptversion"; exit $?;; 168 | 169 | --) shift 170 | break;; 171 | 172 | -*) echo "$0: invalid option: $1" >&2 173 | exit 1;; 174 | 175 | *) break;; 176 | esac 177 | shift 178 | done 179 | 180 | if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then 181 | # When -d is used, all remaining arguments are directories to create. 182 | # When -t is used, the destination is already specified. 183 | # Otherwise, the last argument is the destination. Remove it from $@. 184 | for arg 185 | do 186 | if test -n "$dst_arg"; then 187 | # $@ is not empty: it contains at least $arg. 188 | set fnord "$@" "$dst_arg" 189 | shift # fnord 190 | fi 191 | shift # arg 192 | dst_arg=$arg 193 | # Protect names problematic for `test' and other utilities. 194 | case $dst_arg in 195 | -* | [=\(\)!]) dst_arg=./$dst_arg;; 196 | esac 197 | done 198 | fi 199 | 200 | if test $# -eq 0; then 201 | if test -z "$dir_arg"; then 202 | echo "$0: no input file specified." >&2 203 | exit 1 204 | fi 205 | # It's OK to call `install-sh -d' without argument. 206 | # This can happen when creating conditional directories. 207 | exit 0 208 | fi 209 | 210 | if test -z "$dir_arg"; then 211 | do_exit='(exit $ret); exit $ret' 212 | trap "ret=129; $do_exit" 1 213 | trap "ret=130; $do_exit" 2 214 | trap "ret=141; $do_exit" 13 215 | trap "ret=143; $do_exit" 15 216 | 217 | # Set umask so as not to create temps with too-generous modes. 218 | # However, 'strip' requires both read and write access to temps. 219 | case $mode in 220 | # Optimize common cases. 221 | *644) cp_umask=133;; 222 | *755) cp_umask=22;; 223 | 224 | *[0-7]) 225 | if test -z "$stripcmd"; then 226 | u_plus_rw= 227 | else 228 | u_plus_rw='% 200' 229 | fi 230 | cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;; 231 | *) 232 | if test -z "$stripcmd"; then 233 | u_plus_rw= 234 | else 235 | u_plus_rw=,u+rw 236 | fi 237 | cp_umask=$mode$u_plus_rw;; 238 | esac 239 | fi 240 | 241 | for src 242 | do 243 | # Protect names problematic for `test' and other utilities. 244 | case $src in 245 | -* | [=\(\)!]) src=./$src;; 246 | esac 247 | 248 | if test -n "$dir_arg"; then 249 | dst=$src 250 | dstdir=$dst 251 | test -d "$dstdir" 252 | dstdir_status=$? 253 | else 254 | 255 | # Waiting for this to be detected by the "$cpprog $src $dsttmp" command 256 | # might cause directories to be created, which would be especially bad 257 | # if $src (and thus $dsttmp) contains '*'. 258 | if test ! -f "$src" && test ! -d "$src"; then 259 | echo "$0: $src does not exist." >&2 260 | exit 1 261 | fi 262 | 263 | if test -z "$dst_arg"; then 264 | echo "$0: no destination specified." >&2 265 | exit 1 266 | fi 267 | dst=$dst_arg 268 | 269 | # If destination is a directory, append the input filename; won't work 270 | # if double slashes aren't ignored. 271 | if test -d "$dst"; then 272 | if test -n "$no_target_directory"; then 273 | echo "$0: $dst_arg: Is a directory" >&2 274 | exit 1 275 | fi 276 | dstdir=$dst 277 | dst=$dstdir/`basename "$src"` 278 | dstdir_status=0 279 | else 280 | # Prefer dirname, but fall back on a substitute if dirname fails. 281 | dstdir=` 282 | (dirname "$dst") 2>/dev/null || 283 | expr X"$dst" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ 284 | X"$dst" : 'X\(//\)[^/]' \| \ 285 | X"$dst" : 'X\(//\)$' \| \ 286 | X"$dst" : 'X\(/\)' \| . 2>/dev/null || 287 | echo X"$dst" | 288 | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ 289 | s//\1/ 290 | q 291 | } 292 | /^X\(\/\/\)[^/].*/{ 293 | s//\1/ 294 | q 295 | } 296 | /^X\(\/\/\)$/{ 297 | s//\1/ 298 | q 299 | } 300 | /^X\(\/\).*/{ 301 | s//\1/ 302 | q 303 | } 304 | s/.*/./; q' 305 | ` 306 | 307 | test -d "$dstdir" 308 | dstdir_status=$? 309 | fi 310 | fi 311 | 312 | obsolete_mkdir_used=false 313 | 314 | if test $dstdir_status != 0; then 315 | case $posix_mkdir in 316 | '') 317 | # Create intermediate dirs using mode 755 as modified by the umask. 318 | # This is like FreeBSD 'install' as of 1997-10-28. 319 | umask=`umask` 320 | case $stripcmd.$umask in 321 | # Optimize common cases. 322 | *[2367][2367]) mkdir_umask=$umask;; 323 | .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;; 324 | 325 | *[0-7]) 326 | mkdir_umask=`expr $umask + 22 \ 327 | - $umask % 100 % 40 + $umask % 20 \ 328 | - $umask % 10 % 4 + $umask % 2 329 | `;; 330 | *) mkdir_umask=$umask,go-w;; 331 | esac 332 | 333 | # With -d, create the new directory with the user-specified mode. 334 | # Otherwise, rely on $mkdir_umask. 335 | if test -n "$dir_arg"; then 336 | mkdir_mode=-m$mode 337 | else 338 | mkdir_mode= 339 | fi 340 | 341 | posix_mkdir=false 342 | case $umask in 343 | *[123567][0-7][0-7]) 344 | # POSIX mkdir -p sets u+wx bits regardless of umask, which 345 | # is incompatible with FreeBSD 'install' when (umask & 300) != 0. 346 | ;; 347 | *) 348 | tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$ 349 | trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0 350 | 351 | if (umask $mkdir_umask && 352 | exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1 353 | then 354 | if test -z "$dir_arg" || { 355 | # Check for POSIX incompatibilities with -m. 356 | # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or 357 | # other-writeable bit of parent directory when it shouldn't. 358 | # FreeBSD 6.1 mkdir -m -p sets mode of existing directory. 359 | ls_ld_tmpdir=`ls -ld "$tmpdir"` 360 | case $ls_ld_tmpdir in 361 | d????-?r-*) different_mode=700;; 362 | d????-?--*) different_mode=755;; 363 | *) false;; 364 | esac && 365 | $mkdirprog -m$different_mode -p -- "$tmpdir" && { 366 | ls_ld_tmpdir_1=`ls -ld "$tmpdir"` 367 | test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1" 368 | } 369 | } 370 | then posix_mkdir=: 371 | fi 372 | rmdir "$tmpdir/d" "$tmpdir" 373 | else 374 | # Remove any dirs left behind by ancient mkdir implementations. 375 | rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null 376 | fi 377 | trap '' 0;; 378 | esac;; 379 | esac 380 | 381 | if 382 | $posix_mkdir && ( 383 | umask $mkdir_umask && 384 | $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir" 385 | ) 386 | then : 387 | else 388 | 389 | # The umask is ridiculous, or mkdir does not conform to POSIX, 390 | # or it failed possibly due to a race condition. Create the 391 | # directory the slow way, step by step, checking for races as we go. 392 | 393 | case $dstdir in 394 | /*) prefix='/';; 395 | [-=\(\)!]*) prefix='./';; 396 | *) prefix='';; 397 | esac 398 | 399 | eval "$initialize_posix_glob" 400 | 401 | oIFS=$IFS 402 | IFS=/ 403 | $posix_glob set -f 404 | set fnord $dstdir 405 | shift 406 | $posix_glob set +f 407 | IFS=$oIFS 408 | 409 | prefixes= 410 | 411 | for d 412 | do 413 | test X"$d" = X && continue 414 | 415 | prefix=$prefix$d 416 | if test -d "$prefix"; then 417 | prefixes= 418 | else 419 | if $posix_mkdir; then 420 | (umask=$mkdir_umask && 421 | $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break 422 | # Don't fail if two instances are running concurrently. 423 | test -d "$prefix" || exit 1 424 | else 425 | case $prefix in 426 | *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;; 427 | *) qprefix=$prefix;; 428 | esac 429 | prefixes="$prefixes '$qprefix'" 430 | fi 431 | fi 432 | prefix=$prefix/ 433 | done 434 | 435 | if test -n "$prefixes"; then 436 | # Don't fail if two instances are running concurrently. 437 | (umask $mkdir_umask && 438 | eval "\$doit_exec \$mkdirprog $prefixes") || 439 | test -d "$dstdir" || exit 1 440 | obsolete_mkdir_used=true 441 | fi 442 | fi 443 | fi 444 | 445 | if test -n "$dir_arg"; then 446 | { test -z "$chowncmd" || $doit $chowncmd "$dst"; } && 447 | { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } && 448 | { test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false || 449 | test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1 450 | else 451 | 452 | # Make a couple of temp file names in the proper directory. 453 | dsttmp=$dstdir/_inst.$$_ 454 | rmtmp=$dstdir/_rm.$$_ 455 | 456 | # Trap to clean up those temp files at exit. 457 | trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0 458 | 459 | # Copy the file name to the temp name. 460 | (umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") && 461 | 462 | # and set any options; do chmod last to preserve setuid bits. 463 | # 464 | # If any of these fail, we abort the whole thing. If we want to 465 | # ignore errors from any of these, just make sure not to ignore 466 | # errors from the above "$doit $cpprog $src $dsttmp" command. 467 | # 468 | { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } && 469 | { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } && 470 | { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } && 471 | { test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } && 472 | 473 | # If -C, don't bother to copy if it wouldn't change the file. 474 | if $copy_on_change && 475 | old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` && 476 | new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` && 477 | 478 | eval "$initialize_posix_glob" && 479 | $posix_glob set -f && 480 | set X $old && old=:$2:$4:$5:$6 && 481 | set X $new && new=:$2:$4:$5:$6 && 482 | $posix_glob set +f && 483 | 484 | test "$old" = "$new" && 485 | $cmpprog "$dst" "$dsttmp" >/dev/null 2>&1 486 | then 487 | rm -f "$dsttmp" 488 | else 489 | # Rename the file to the real destination. 490 | $doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null || 491 | 492 | # The rename failed, perhaps because mv can't rename something else 493 | # to itself, or perhaps because mv is so ancient that it does not 494 | # support -f. 495 | { 496 | # Now remove or move aside any old file at destination location. 497 | # We try this two ways since rm can't unlink itself on some 498 | # systems and the destination file might be busy for other 499 | # reasons. In this case, the final cleanup might fail but the new 500 | # file should still install successfully. 501 | { 502 | test ! -f "$dst" || 503 | $doit $rmcmd -f "$dst" 2>/dev/null || 504 | { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null && 505 | { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; } 506 | } || 507 | { echo "$0: cannot unlink or rename $dst" >&2 508 | (exit 1); exit 1 509 | } 510 | } && 511 | 512 | # Now rename the file to the real destination. 513 | $doit $mvcmd "$dsttmp" "$dst" 514 | } 515 | fi || exit 1 516 | 517 | trap '' 0 518 | fi 519 | done 520 | 521 | # Local variables: 522 | # eval: (add-hook 'write-file-hooks 'time-stamp) 523 | # time-stamp-start: "scriptversion=" 524 | # time-stamp-format: "%:y-%02m-%02d.%02H" 525 | # time-stamp-time-zone: "UTC" 526 | # time-stamp-end: "; # UTC" 527 | # End: 528 | -------------------------------------------------------------------------------- /man/Makefile.am: -------------------------------------------------------------------------------- 1 | man1_MANS = fizsh.1 2 | 3 | $(srcdir)/fizsh.1: $(srcdir)/fizsh.pod 4 | -pod2man --utf8 -c "" -r "fizsh 1.0.9" $(srcdir)/fizsh.pod > $(srcdir)/fizsh.1 5 | 6 | clean: 7 | -rm -rf $(srcdir)/fizsh.1 8 | -------------------------------------------------------------------------------- /man/Makefile.in: -------------------------------------------------------------------------------- 1 | # Makefile.in generated by automake 1.15 from Makefile.am. 2 | # @configure_input@ 3 | 4 | # Copyright (C) 1994-2014 Free Software Foundation, Inc. 5 | 6 | # This Makefile.in is free software; the Free Software Foundation 7 | # gives unlimited permission to copy and/or distribute it, 8 | # with or without modifications, as long as this notice is preserved. 9 | 10 | # This program is distributed in the hope that it will be useful, 11 | # but WITHOUT ANY WARRANTY, to the extent permitted by law; without 12 | # even the implied warranty of MERCHANTABILITY or FITNESS FOR A 13 | # PARTICULAR PURPOSE. 14 | 15 | @SET_MAKE@ 16 | VPATH = @srcdir@ 17 | am__is_gnu_make = { \ 18 | if test -z '$(MAKELEVEL)'; then \ 19 | false; \ 20 | elif test -n '$(MAKE_HOST)'; then \ 21 | true; \ 22 | elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ 23 | true; \ 24 | else \ 25 | false; \ 26 | fi; \ 27 | } 28 | am__make_running_with_option = \ 29 | case $${target_option-} in \ 30 | ?) ;; \ 31 | *) echo "am__make_running_with_option: internal error: invalid" \ 32 | "target option '$${target_option-}' specified" >&2; \ 33 | exit 1;; \ 34 | esac; \ 35 | has_opt=no; \ 36 | sane_makeflags=$$MAKEFLAGS; \ 37 | if $(am__is_gnu_make); then \ 38 | sane_makeflags=$$MFLAGS; \ 39 | else \ 40 | case $$MAKEFLAGS in \ 41 | *\\[\ \ ]*) \ 42 | bs=\\; \ 43 | sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ 44 | | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ 45 | esac; \ 46 | fi; \ 47 | skip_next=no; \ 48 | strip_trailopt () \ 49 | { \ 50 | flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ 51 | }; \ 52 | for flg in $$sane_makeflags; do \ 53 | test $$skip_next = yes && { skip_next=no; continue; }; \ 54 | case $$flg in \ 55 | *=*|--*) continue;; \ 56 | -*I) strip_trailopt 'I'; skip_next=yes;; \ 57 | -*I?*) strip_trailopt 'I';; \ 58 | -*O) strip_trailopt 'O'; skip_next=yes;; \ 59 | -*O?*) strip_trailopt 'O';; \ 60 | -*l) strip_trailopt 'l'; skip_next=yes;; \ 61 | -*l?*) strip_trailopt 'l';; \ 62 | -[dEDm]) skip_next=yes;; \ 63 | -[JT]) skip_next=yes;; \ 64 | esac; \ 65 | case $$flg in \ 66 | *$$target_option*) has_opt=yes; break;; \ 67 | esac; \ 68 | done; \ 69 | test $$has_opt = yes 70 | am__make_dryrun = (target_option=n; $(am__make_running_with_option)) 71 | am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) 72 | pkgdatadir = $(datadir)/@PACKAGE@ 73 | pkgincludedir = $(includedir)/@PACKAGE@ 74 | pkglibdir = $(libdir)/@PACKAGE@ 75 | pkglibexecdir = $(libexecdir)/@PACKAGE@ 76 | am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd 77 | install_sh_DATA = $(install_sh) -c -m 644 78 | install_sh_PROGRAM = $(install_sh) -c 79 | install_sh_SCRIPT = $(install_sh) -c 80 | INSTALL_HEADER = $(INSTALL_DATA) 81 | transform = $(program_transform_name) 82 | NORMAL_INSTALL = : 83 | PRE_INSTALL = : 84 | POST_INSTALL = : 85 | NORMAL_UNINSTALL = : 86 | PRE_UNINSTALL = : 87 | POST_UNINSTALL = : 88 | subdir = man 89 | ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 90 | am__aclocal_m4_deps = $(top_srcdir)/configure.ac 91 | am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ 92 | $(ACLOCAL_M4) 93 | DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) 94 | mkinstalldirs = $(install_sh) -d 95 | CONFIG_CLEAN_FILES = 96 | CONFIG_CLEAN_VPATH_FILES = 97 | AM_V_P = $(am__v_P_@AM_V@) 98 | am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) 99 | am__v_P_0 = false 100 | am__v_P_1 = : 101 | AM_V_GEN = $(am__v_GEN_@AM_V@) 102 | am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) 103 | am__v_GEN_0 = @echo " GEN " $@; 104 | am__v_GEN_1 = 105 | AM_V_at = $(am__v_at_@AM_V@) 106 | am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) 107 | am__v_at_0 = @ 108 | am__v_at_1 = 109 | SOURCES = 110 | DIST_SOURCES = 111 | am__can_run_installinfo = \ 112 | case $$AM_UPDATE_INFO_DIR in \ 113 | n|no|NO) false;; \ 114 | *) (install-info --version) >/dev/null 2>&1;; \ 115 | esac 116 | am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; 117 | am__vpath_adj = case $$p in \ 118 | $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ 119 | *) f=$$p;; \ 120 | esac; 121 | am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; 122 | am__install_max = 40 123 | am__nobase_strip_setup = \ 124 | srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` 125 | am__nobase_strip = \ 126 | for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" 127 | am__nobase_list = $(am__nobase_strip_setup); \ 128 | for p in $$list; do echo "$$p $$p"; done | \ 129 | sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ 130 | $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ 131 | if (++n[$$2] == $(am__install_max)) \ 132 | { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ 133 | END { for (dir in files) print dir, files[dir] }' 134 | am__base_list = \ 135 | sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ 136 | sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' 137 | am__uninstall_files_from_dir = { \ 138 | test -z "$$files" \ 139 | || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ 140 | || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ 141 | $(am__cd) "$$dir" && rm -f $$files; }; \ 142 | } 143 | man1dir = $(mandir)/man1 144 | am__installdirs = "$(DESTDIR)$(man1dir)" 145 | NROFF = nroff 146 | MANS = $(man1_MANS) 147 | am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) 148 | am__DIST_COMMON = $(srcdir)/Makefile.in README 149 | DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) 150 | ACLOCAL = @ACLOCAL@ 151 | AMTAR = @AMTAR@ 152 | AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ 153 | AUTOCONF = @AUTOCONF@ 154 | AUTOHEADER = @AUTOHEADER@ 155 | AUTOMAKE = @AUTOMAKE@ 156 | AWK = @AWK@ 157 | CYGPATH_W = @CYGPATH_W@ 158 | DEFS = @DEFS@ 159 | ECHO_C = @ECHO_C@ 160 | ECHO_N = @ECHO_N@ 161 | ECHO_T = @ECHO_T@ 162 | INSTALL = @INSTALL@ 163 | INSTALL_DATA = @INSTALL_DATA@ 164 | INSTALL_PROGRAM = @INSTALL_PROGRAM@ 165 | INSTALL_SCRIPT = @INSTALL_SCRIPT@ 166 | INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ 167 | LIBOBJS = @LIBOBJS@ 168 | LIBS = @LIBS@ 169 | LTLIBOBJS = @LTLIBOBJS@ 170 | MAINT = @MAINT@ 171 | MAKEINFO = @MAKEINFO@ 172 | MKDIR_P = @MKDIR_P@ 173 | PACKAGE = @PACKAGE@ 174 | PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ 175 | PACKAGE_NAME = @PACKAGE_NAME@ 176 | PACKAGE_STRING = @PACKAGE_STRING@ 177 | PACKAGE_TARNAME = @PACKAGE_TARNAME@ 178 | PACKAGE_URL = @PACKAGE_URL@ 179 | PACKAGE_VERSION = @PACKAGE_VERSION@ 180 | PATH_SEPARATOR = @PATH_SEPARATOR@ 181 | POD2MAN = @POD2MAN@ 182 | SET_MAKE = @SET_MAKE@ 183 | SHELL = @SHELL@ 184 | STRIP = @STRIP@ 185 | VERSION = @VERSION@ 186 | abs_builddir = @abs_builddir@ 187 | abs_srcdir = @abs_srcdir@ 188 | abs_top_builddir = @abs_top_builddir@ 189 | abs_top_srcdir = @abs_top_srcdir@ 190 | am__leading_dot = @am__leading_dot@ 191 | am__tar = @am__tar@ 192 | am__untar = @am__untar@ 193 | bindir = @bindir@ 194 | build_alias = @build_alias@ 195 | builddir = @builddir@ 196 | datadir = @datadir@ 197 | datarootdir = @datarootdir@ 198 | docdir = @docdir@ 199 | dvidir = @dvidir@ 200 | exec_prefix = @exec_prefix@ 201 | host_alias = @host_alias@ 202 | htmldir = @htmldir@ 203 | includedir = @includedir@ 204 | infodir = @infodir@ 205 | install_sh = @install_sh@ 206 | libdir = @libdir@ 207 | libexecdir = @libexecdir@ 208 | localedir = @localedir@ 209 | localstatedir = @localstatedir@ 210 | mandir = @mandir@ 211 | mkdir_p = @mkdir_p@ 212 | oldincludedir = @oldincludedir@ 213 | pdfdir = @pdfdir@ 214 | prefix = @prefix@ 215 | program_transform_name = @program_transform_name@ 216 | psdir = @psdir@ 217 | runstatedir = @runstatedir@ 218 | sbindir = @sbindir@ 219 | sharedstatedir = @sharedstatedir@ 220 | srcdir = @srcdir@ 221 | sysconfdir = @sysconfdir@ 222 | target_alias = @target_alias@ 223 | top_build_prefix = @top_build_prefix@ 224 | top_builddir = @top_builddir@ 225 | top_srcdir = @top_srcdir@ 226 | man1_MANS = fizsh.1 227 | all: all-am 228 | 229 | .SUFFIXES: 230 | $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) 231 | @for dep in $?; do \ 232 | case '$(am__configure_deps)' in \ 233 | *$$dep*) \ 234 | ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ 235 | && { if test -f $@; then exit 0; else break; fi; }; \ 236 | exit 1;; \ 237 | esac; \ 238 | done; \ 239 | echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu man/Makefile'; \ 240 | $(am__cd) $(top_srcdir) && \ 241 | $(AUTOMAKE) --gnu man/Makefile 242 | Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status 243 | @case '$?' in \ 244 | *config.status*) \ 245 | cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ 246 | *) \ 247 | echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ 248 | cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ 249 | esac; 250 | 251 | $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) 252 | cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh 253 | 254 | $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) 255 | cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh 256 | $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) 257 | cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh 258 | $(am__aclocal_m4_deps): 259 | install-man1: $(man1_MANS) 260 | @$(NORMAL_INSTALL) 261 | @list1='$(man1_MANS)'; \ 262 | list2=''; \ 263 | test -n "$(man1dir)" \ 264 | && test -n "`echo $$list1$$list2`" \ 265 | || exit 0; \ 266 | echo " $(MKDIR_P) '$(DESTDIR)$(man1dir)'"; \ 267 | $(MKDIR_P) "$(DESTDIR)$(man1dir)" || exit 1; \ 268 | { for i in $$list1; do echo "$$i"; done; \ 269 | if test -n "$$list2"; then \ 270 | for i in $$list2; do echo "$$i"; done \ 271 | | sed -n '/\.1[a-z]*$$/p'; \ 272 | fi; \ 273 | } | while read p; do \ 274 | if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ 275 | echo "$$d$$p"; echo "$$p"; \ 276 | done | \ 277 | sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \ 278 | -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \ 279 | sed 'N;N;s,\n, ,g' | { \ 280 | list=; while read file base inst; do \ 281 | if test "$$base" = "$$inst"; then list="$$list $$file"; else \ 282 | echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \ 283 | $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst" || exit $$?; \ 284 | fi; \ 285 | done; \ 286 | for i in $$list; do echo "$$i"; done | $(am__base_list) | \ 287 | while read files; do \ 288 | test -z "$$files" || { \ 289 | echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man1dir)'"; \ 290 | $(INSTALL_DATA) $$files "$(DESTDIR)$(man1dir)" || exit $$?; }; \ 291 | done; } 292 | 293 | uninstall-man1: 294 | @$(NORMAL_UNINSTALL) 295 | @list='$(man1_MANS)'; test -n "$(man1dir)" || exit 0; \ 296 | files=`{ for i in $$list; do echo "$$i"; done; \ 297 | } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \ 298 | -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \ 299 | dir='$(DESTDIR)$(man1dir)'; $(am__uninstall_files_from_dir) 300 | tags TAGS: 301 | 302 | ctags CTAGS: 303 | 304 | cscope cscopelist: 305 | 306 | 307 | distdir: $(DISTFILES) 308 | @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ 309 | topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ 310 | list='$(DISTFILES)'; \ 311 | dist_files=`for file in $$list; do echo $$file; done | \ 312 | sed -e "s|^$$srcdirstrip/||;t" \ 313 | -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ 314 | case $$dist_files in \ 315 | */*) $(MKDIR_P) `echo "$$dist_files" | \ 316 | sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ 317 | sort -u` ;; \ 318 | esac; \ 319 | for file in $$dist_files; do \ 320 | if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ 321 | if test -d $$d/$$file; then \ 322 | dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ 323 | if test -d "$(distdir)/$$file"; then \ 324 | find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ 325 | fi; \ 326 | if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ 327 | cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ 328 | find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ 329 | fi; \ 330 | cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ 331 | else \ 332 | test -f "$(distdir)/$$file" \ 333 | || cp -p $$d/$$file "$(distdir)/$$file" \ 334 | || exit 1; \ 335 | fi; \ 336 | done 337 | check-am: all-am 338 | check: check-am 339 | all-am: Makefile $(MANS) 340 | installdirs: 341 | for dir in "$(DESTDIR)$(man1dir)"; do \ 342 | test -z "$$dir" || $(MKDIR_P) "$$dir"; \ 343 | done 344 | install: install-am 345 | install-exec: install-exec-am 346 | install-data: install-data-am 347 | uninstall: uninstall-am 348 | 349 | install-am: all-am 350 | @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am 351 | 352 | installcheck: installcheck-am 353 | install-strip: 354 | if test -z '$(STRIP)'; then \ 355 | $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ 356 | install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ 357 | install; \ 358 | else \ 359 | $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ 360 | install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ 361 | "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ 362 | fi 363 | mostlyclean-generic: 364 | 365 | clean-generic: 366 | 367 | distclean-generic: 368 | -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) 369 | -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) 370 | 371 | maintainer-clean-generic: 372 | @echo "This command is intended for maintainers to use" 373 | @echo "it deletes files that may require special tools to rebuild." 374 | clean-am: clean-generic mostlyclean-am 375 | 376 | distclean: distclean-am 377 | -rm -f Makefile 378 | distclean-am: clean-am distclean-generic 379 | 380 | dvi: dvi-am 381 | 382 | dvi-am: 383 | 384 | html: html-am 385 | 386 | html-am: 387 | 388 | info: info-am 389 | 390 | info-am: 391 | 392 | install-data-am: install-man 393 | 394 | install-dvi: install-dvi-am 395 | 396 | install-dvi-am: 397 | 398 | install-exec-am: 399 | 400 | install-html: install-html-am 401 | 402 | install-html-am: 403 | 404 | install-info: install-info-am 405 | 406 | install-info-am: 407 | 408 | install-man: install-man1 409 | 410 | install-pdf: install-pdf-am 411 | 412 | install-pdf-am: 413 | 414 | install-ps: install-ps-am 415 | 416 | install-ps-am: 417 | 418 | installcheck-am: 419 | 420 | maintainer-clean: maintainer-clean-am 421 | -rm -f Makefile 422 | maintainer-clean-am: distclean-am maintainer-clean-generic 423 | 424 | mostlyclean: mostlyclean-am 425 | 426 | mostlyclean-am: mostlyclean-generic 427 | 428 | pdf: pdf-am 429 | 430 | pdf-am: 431 | 432 | ps: ps-am 433 | 434 | ps-am: 435 | 436 | uninstall-am: uninstall-man 437 | 438 | uninstall-man: uninstall-man1 439 | 440 | .MAKE: install-am install-strip 441 | 442 | .PHONY: all all-am check check-am clean clean-generic cscopelist-am \ 443 | ctags-am distclean distclean-generic distdir dvi dvi-am html \ 444 | html-am info info-am install install-am install-data \ 445 | install-data-am install-dvi install-dvi-am install-exec \ 446 | install-exec-am install-html install-html-am install-info \ 447 | install-info-am install-man install-man1 install-pdf \ 448 | install-pdf-am install-ps install-ps-am install-strip \ 449 | installcheck installcheck-am installdirs maintainer-clean \ 450 | maintainer-clean-generic mostlyclean mostlyclean-generic pdf \ 451 | pdf-am ps ps-am tags-am uninstall uninstall-am uninstall-man \ 452 | uninstall-man1 453 | 454 | .PRECIOUS: Makefile 455 | 456 | 457 | $(srcdir)/fizsh.1: $(srcdir)/fizsh.pod 458 | -pod2man --utf8 -c "" -r "fizsh 1.0.9" $(srcdir)/fizsh.pod > $(srcdir)/fizsh.1 459 | 460 | clean: 461 | -rm -rf $(srcdir)/fizsh.1 462 | 463 | # Tell versions [3.59,3.63) of GNU make to not export all variables. 464 | # Otherwise a system limit (for SysV at least) may be exceeded. 465 | .NOEXPORT: 466 | -------------------------------------------------------------------------------- /man/README: -------------------------------------------------------------------------------- 1 | The file fizsh.1 must be created from fizsh.pod using pod2man. 2 | 3 | * To construct it use the following command: 4 | 5 | $ pod2man --utf8 -c "" -r "fizsh 1.0.9" ./fizsh.pod > ./fizsh.1 6 | 7 | * This is what happens in Makefile.am 8 | -------------------------------------------------------------------------------- /man/fizsh.pod: -------------------------------------------------------------------------------- 1 | =head1 NAME 2 | 3 | fizsh - Fizsh is a user friendly front end to zsh. 4 | 5 | =head1 SYNOPSIS 6 | 7 | fizsh [OPTIONS] ... [ARGUMENTS] ... 8 | 9 | =head1 DESCRIPTION 10 | 11 | Fizsh provides zsh with interactive syntax-highlighting and a MATLAB-like history-search. Fizsh is intended to look and feel similar to fish. A distinguishing feature is that fizsh can handle Bourne compatible syntax. This is because fizsh is a front end to zsh. Fish does not handle Bourne compatible syntax. 12 | 13 | =head1 CONFIGURATION 14 | 15 | "$HOME/.fizsh/" is the directory where fizsh keeps its local configuration files. The file "$HOME/.fizsh/.fizshrc" serves as the user's local startup script. Local customizations, such as aliases and functions, can be added here. This file allows the same syntax as "$HOME/.zshrc" under zsh. "$HOME/.fizsh/.fizsh_history" is the name of fizsh's history file. The other files in "$HOME/.fizsh" are installed when the user runs "/usr/bin/fizsh" for the first time. These files are automatically overwritten after installing a newer version of Fizsh. The user may call the function "fizsh-reinstall" to force a reinstallation of his local configuration files. 16 | 17 | Compared to the default configuration of zsh, fizsh additionally sets the options "append_history", "inc_append_history", "hist_ignore_all_dups", "hist_reduce_blanks", "hist_ignore_space", "interactive_comments", "correct", "no_beep" and "prompt_subst". 18 | 19 | For further configuration details consult zsh's man pages 20 | 21 | =head1 OPTIONS 22 | 23 | Fizsh is usually invoked without options and without command-line arguments. 24 | 25 | The only supported command-line options are "--version", "--help", "--login", shorthands for these commands are "-v", "-h", "-l" respectively. "--version" yields fizsh's version number. "--help" causes fizsh to print brief usage information. "--login" causes fizsh to run as a login shell. 26 | 27 | If invoked with other command-line options and/or arguments fizsh will silently revert to zsh. 28 | =head1 BUGS 29 | 30 | There are no known bugs at the moment. Bug reports, bug fixes and other comments are welcome. 31 | 32 | =head1 NOTES 33 | 34 | Fizsh will run as a login shell if it is invoked with the "-l", or if it is started by the "login" program. If fizsh is run as a login shell "$0" will be set to "-fizsh". "$0" will be "fizsh" otherwise. 35 | 36 | MATLAB is a registered trademark of The MathWorks, Inc. 37 | 38 | =head1 AUTHOR 39 | 40 | Guido van Steen, based on work by the "zsh-syntax-highlighting contributors" and the contributors to "zsh-history-substring-search". The author also gratefully acknowledges http://www.zsh.org/mla/users/2011/msg00734.html. 41 | 42 | =head1 SEE ALSO 43 | 44 | fizsh(1), fish(1), zsh(1) 45 | -------------------------------------------------------------------------------- /missing: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | # Common wrapper for a few potentially missing GNU programs. 3 | 4 | scriptversion=2013-10-28.13; # UTC 5 | 6 | # Copyright (C) 1996-2014 Free Software Foundation, Inc. 7 | # Originally written by Fran,cois Pinard , 1996. 8 | 9 | # This program is free software; you can redistribute it and/or modify 10 | # it under the terms of the GNU General Public License as published by 11 | # the Free Software Foundation; either version 2, or (at your option) 12 | # any later version. 13 | 14 | # This program is distributed in the hope that it will be useful, 15 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | # GNU General Public License for more details. 18 | 19 | # You should have received a copy of the GNU General Public License 20 | # along with this program. If not, see . 21 | 22 | # As a special exception to the GNU General Public License, if you 23 | # distribute this file as part of a program that contains a 24 | # configuration script generated by Autoconf, you may include it under 25 | # the same distribution terms that you use for the rest of that program. 26 | 27 | if test $# -eq 0; then 28 | echo 1>&2 "Try '$0 --help' for more information" 29 | exit 1 30 | fi 31 | 32 | case $1 in 33 | 34 | --is-lightweight) 35 | # Used by our autoconf macros to check whether the available missing 36 | # script is modern enough. 37 | exit 0 38 | ;; 39 | 40 | --run) 41 | # Back-compat with the calling convention used by older automake. 42 | shift 43 | ;; 44 | 45 | -h|--h|--he|--hel|--help) 46 | echo "\ 47 | $0 [OPTION]... PROGRAM [ARGUMENT]... 48 | 49 | Run 'PROGRAM [ARGUMENT]...', returning a proper advice when this fails due 50 | to PROGRAM being missing or too old. 51 | 52 | Options: 53 | -h, --help display this help and exit 54 | -v, --version output version information and exit 55 | 56 | Supported PROGRAM values: 57 | aclocal autoconf autoheader autom4te automake makeinfo 58 | bison yacc flex lex help2man 59 | 60 | Version suffixes to PROGRAM as well as the prefixes 'gnu-', 'gnu', and 61 | 'g' are ignored when checking the name. 62 | 63 | Send bug reports to ." 64 | exit $? 65 | ;; 66 | 67 | -v|--v|--ve|--ver|--vers|--versi|--versio|--version) 68 | echo "missing $scriptversion (GNU Automake)" 69 | exit $? 70 | ;; 71 | 72 | -*) 73 | echo 1>&2 "$0: unknown '$1' option" 74 | echo 1>&2 "Try '$0 --help' for more information" 75 | exit 1 76 | ;; 77 | 78 | esac 79 | 80 | # Run the given program, remember its exit status. 81 | "$@"; st=$? 82 | 83 | # If it succeeded, we are done. 84 | test $st -eq 0 && exit 0 85 | 86 | # Also exit now if we it failed (or wasn't found), and '--version' was 87 | # passed; such an option is passed most likely to detect whether the 88 | # program is present and works. 89 | case $2 in --version|--help) exit $st;; esac 90 | 91 | # Exit code 63 means version mismatch. This often happens when the user 92 | # tries to use an ancient version of a tool on a file that requires a 93 | # minimum version. 94 | if test $st -eq 63; then 95 | msg="probably too old" 96 | elif test $st -eq 127; then 97 | # Program was missing. 98 | msg="missing on your system" 99 | else 100 | # Program was found and executed, but failed. Give up. 101 | exit $st 102 | fi 103 | 104 | perl_URL=http://www.perl.org/ 105 | flex_URL=http://flex.sourceforge.net/ 106 | gnu_software_URL=http://www.gnu.org/software 107 | 108 | program_details () 109 | { 110 | case $1 in 111 | aclocal|automake) 112 | echo "The '$1' program is part of the GNU Automake package:" 113 | echo "<$gnu_software_URL/automake>" 114 | echo "It also requires GNU Autoconf, GNU m4 and Perl in order to run:" 115 | echo "<$gnu_software_URL/autoconf>" 116 | echo "<$gnu_software_URL/m4/>" 117 | echo "<$perl_URL>" 118 | ;; 119 | autoconf|autom4te|autoheader) 120 | echo "The '$1' program is part of the GNU Autoconf package:" 121 | echo "<$gnu_software_URL/autoconf/>" 122 | echo "It also requires GNU m4 and Perl in order to run:" 123 | echo "<$gnu_software_URL/m4/>" 124 | echo "<$perl_URL>" 125 | ;; 126 | esac 127 | } 128 | 129 | give_advice () 130 | { 131 | # Normalize program name to check for. 132 | normalized_program=`echo "$1" | sed ' 133 | s/^gnu-//; t 134 | s/^gnu//; t 135 | s/^g//; t'` 136 | 137 | printf '%s\n' "'$1' is $msg." 138 | 139 | configure_deps="'configure.ac' or m4 files included by 'configure.ac'" 140 | case $normalized_program in 141 | autoconf*) 142 | echo "You should only need it if you modified 'configure.ac'," 143 | echo "or m4 files included by it." 144 | program_details 'autoconf' 145 | ;; 146 | autoheader*) 147 | echo "You should only need it if you modified 'acconfig.h' or" 148 | echo "$configure_deps." 149 | program_details 'autoheader' 150 | ;; 151 | automake*) 152 | echo "You should only need it if you modified 'Makefile.am' or" 153 | echo "$configure_deps." 154 | program_details 'automake' 155 | ;; 156 | aclocal*) 157 | echo "You should only need it if you modified 'acinclude.m4' or" 158 | echo "$configure_deps." 159 | program_details 'aclocal' 160 | ;; 161 | autom4te*) 162 | echo "You might have modified some maintainer files that require" 163 | echo "the 'autom4te' program to be rebuilt." 164 | program_details 'autom4te' 165 | ;; 166 | bison*|yacc*) 167 | echo "You should only need it if you modified a '.y' file." 168 | echo "You may want to install the GNU Bison package:" 169 | echo "<$gnu_software_URL/bison/>" 170 | ;; 171 | lex*|flex*) 172 | echo "You should only need it if you modified a '.l' file." 173 | echo "You may want to install the Fast Lexical Analyzer package:" 174 | echo "<$flex_URL>" 175 | ;; 176 | help2man*) 177 | echo "You should only need it if you modified a dependency" \ 178 | "of a man page." 179 | echo "You may want to install the GNU Help2man package:" 180 | echo "<$gnu_software_URL/help2man/>" 181 | ;; 182 | makeinfo*) 183 | echo "You should only need it if you modified a '.texi' file, or" 184 | echo "any other file indirectly affecting the aspect of the manual." 185 | echo "You might want to install the Texinfo package:" 186 | echo "<$gnu_software_URL/texinfo/>" 187 | echo "The spurious makeinfo call might also be the consequence of" 188 | echo "using a buggy 'make' (AIX, DU, IRIX), in which case you might" 189 | echo "want to install GNU make:" 190 | echo "<$gnu_software_URL/make/>" 191 | ;; 192 | *) 193 | echo "You might have modified some files without having the proper" 194 | echo "tools for further handling them. Check the 'README' file, it" 195 | echo "often tells you about the needed prerequisites for installing" 196 | echo "this package. You may also peek at any GNU archive site, in" 197 | echo "case some other package contains this missing '$1' program." 198 | ;; 199 | esac 200 | } 201 | 202 | give_advice "$1" | sed -e '1s/^/WARNING: /' \ 203 | -e '2,$s/^/ /' >&2 204 | 205 | # Propagate the correct exit status (expected to be 127 for a program 206 | # not found, 63 for a program that failed due to version mismatch). 207 | exit $st 208 | 209 | # Local variables: 210 | # eval: (add-hook 'write-file-hooks 'time-stamp) 211 | # time-stamp-start: "scriptversion=" 212 | # time-stamp-format: "%:y-%02m-%02d.%02H" 213 | # time-stamp-time-zone: "UTC" 214 | # time-stamp-end: "; # UTC" 215 | # End: 216 | -------------------------------------------------------------------------------- /scripts/Makefile.am: -------------------------------------------------------------------------------- 1 | bin_SCRIPTS = fizsh 2 | scriptdir = ${sysconfdir}/fizsh 3 | script_SCRIPTS = fizshrc.zsh zsh-history-substring-search.zsh zsh-syntax-highlighting.zsh fizsh-prompt.zsh modify-etc-shells.sh brackets-highlighter.zsh cursor-highlighter.zsh line-highlighter.zsh main-highlighter.zsh pattern-highlighter.zsh root-highlighter.zsh fizsh-miscellaneous.zsh 4 | -------------------------------------------------------------------------------- /scripts/Makefile.in: -------------------------------------------------------------------------------- 1 | # Makefile.in generated by automake 1.15 from Makefile.am. 2 | # @configure_input@ 3 | 4 | # Copyright (C) 1994-2014 Free Software Foundation, Inc. 5 | 6 | # This Makefile.in is free software; the Free Software Foundation 7 | # gives unlimited permission to copy and/or distribute it, 8 | # with or without modifications, as long as this notice is preserved. 9 | 10 | # This program is distributed in the hope that it will be useful, 11 | # but WITHOUT ANY WARRANTY, to the extent permitted by law; without 12 | # even the implied warranty of MERCHANTABILITY or FITNESS FOR A 13 | # PARTICULAR PURPOSE. 14 | 15 | @SET_MAKE@ 16 | 17 | VPATH = @srcdir@ 18 | am__is_gnu_make = { \ 19 | if test -z '$(MAKELEVEL)'; then \ 20 | false; \ 21 | elif test -n '$(MAKE_HOST)'; then \ 22 | true; \ 23 | elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ 24 | true; \ 25 | else \ 26 | false; \ 27 | fi; \ 28 | } 29 | am__make_running_with_option = \ 30 | case $${target_option-} in \ 31 | ?) ;; \ 32 | *) echo "am__make_running_with_option: internal error: invalid" \ 33 | "target option '$${target_option-}' specified" >&2; \ 34 | exit 1;; \ 35 | esac; \ 36 | has_opt=no; \ 37 | sane_makeflags=$$MAKEFLAGS; \ 38 | if $(am__is_gnu_make); then \ 39 | sane_makeflags=$$MFLAGS; \ 40 | else \ 41 | case $$MAKEFLAGS in \ 42 | *\\[\ \ ]*) \ 43 | bs=\\; \ 44 | sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ 45 | | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ 46 | esac; \ 47 | fi; \ 48 | skip_next=no; \ 49 | strip_trailopt () \ 50 | { \ 51 | flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ 52 | }; \ 53 | for flg in $$sane_makeflags; do \ 54 | test $$skip_next = yes && { skip_next=no; continue; }; \ 55 | case $$flg in \ 56 | *=*|--*) continue;; \ 57 | -*I) strip_trailopt 'I'; skip_next=yes;; \ 58 | -*I?*) strip_trailopt 'I';; \ 59 | -*O) strip_trailopt 'O'; skip_next=yes;; \ 60 | -*O?*) strip_trailopt 'O';; \ 61 | -*l) strip_trailopt 'l'; skip_next=yes;; \ 62 | -*l?*) strip_trailopt 'l';; \ 63 | -[dEDm]) skip_next=yes;; \ 64 | -[JT]) skip_next=yes;; \ 65 | esac; \ 66 | case $$flg in \ 67 | *$$target_option*) has_opt=yes; break;; \ 68 | esac; \ 69 | done; \ 70 | test $$has_opt = yes 71 | am__make_dryrun = (target_option=n; $(am__make_running_with_option)) 72 | am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) 73 | pkgdatadir = $(datadir)/@PACKAGE@ 74 | pkgincludedir = $(includedir)/@PACKAGE@ 75 | pkglibdir = $(libdir)/@PACKAGE@ 76 | pkglibexecdir = $(libexecdir)/@PACKAGE@ 77 | am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd 78 | install_sh_DATA = $(install_sh) -c -m 644 79 | install_sh_PROGRAM = $(install_sh) -c 80 | install_sh_SCRIPT = $(install_sh) -c 81 | INSTALL_HEADER = $(INSTALL_DATA) 82 | transform = $(program_transform_name) 83 | NORMAL_INSTALL = : 84 | PRE_INSTALL = : 85 | POST_INSTALL = : 86 | NORMAL_UNINSTALL = : 87 | PRE_UNINSTALL = : 88 | POST_UNINSTALL = : 89 | subdir = scripts 90 | ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 91 | am__aclocal_m4_deps = $(top_srcdir)/configure.ac 92 | am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ 93 | $(ACLOCAL_M4) 94 | DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) 95 | mkinstalldirs = $(install_sh) -d 96 | CONFIG_CLEAN_FILES = 97 | CONFIG_CLEAN_VPATH_FILES = 98 | am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; 99 | am__vpath_adj = case $$p in \ 100 | $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ 101 | *) f=$$p;; \ 102 | esac; 103 | am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; 104 | am__install_max = 40 105 | am__nobase_strip_setup = \ 106 | srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` 107 | am__nobase_strip = \ 108 | for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" 109 | am__nobase_list = $(am__nobase_strip_setup); \ 110 | for p in $$list; do echo "$$p $$p"; done | \ 111 | sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ 112 | $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ 113 | if (++n[$$2] == $(am__install_max)) \ 114 | { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ 115 | END { for (dir in files) print dir, files[dir] }' 116 | am__base_list = \ 117 | sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ 118 | sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' 119 | am__uninstall_files_from_dir = { \ 120 | test -z "$$files" \ 121 | || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ 122 | || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ 123 | $(am__cd) "$$dir" && rm -f $$files; }; \ 124 | } 125 | am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(scriptdir)" 126 | SCRIPTS = $(bin_SCRIPTS) $(script_SCRIPTS) 127 | AM_V_P = $(am__v_P_@AM_V@) 128 | am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) 129 | am__v_P_0 = false 130 | am__v_P_1 = : 131 | AM_V_GEN = $(am__v_GEN_@AM_V@) 132 | am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) 133 | am__v_GEN_0 = @echo " GEN " $@; 134 | am__v_GEN_1 = 135 | AM_V_at = $(am__v_at_@AM_V@) 136 | am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) 137 | am__v_at_0 = @ 138 | am__v_at_1 = 139 | SOURCES = 140 | DIST_SOURCES = 141 | am__can_run_installinfo = \ 142 | case $$AM_UPDATE_INFO_DIR in \ 143 | n|no|NO) false;; \ 144 | *) (install-info --version) >/dev/null 2>&1;; \ 145 | esac 146 | am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) 147 | am__DIST_COMMON = $(srcdir)/Makefile.in 148 | DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) 149 | ACLOCAL = @ACLOCAL@ 150 | AMTAR = @AMTAR@ 151 | AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ 152 | AUTOCONF = @AUTOCONF@ 153 | AUTOHEADER = @AUTOHEADER@ 154 | AUTOMAKE = @AUTOMAKE@ 155 | AWK = @AWK@ 156 | CYGPATH_W = @CYGPATH_W@ 157 | DEFS = @DEFS@ 158 | ECHO_C = @ECHO_C@ 159 | ECHO_N = @ECHO_N@ 160 | ECHO_T = @ECHO_T@ 161 | INSTALL = @INSTALL@ 162 | INSTALL_DATA = @INSTALL_DATA@ 163 | INSTALL_PROGRAM = @INSTALL_PROGRAM@ 164 | INSTALL_SCRIPT = @INSTALL_SCRIPT@ 165 | INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ 166 | LIBOBJS = @LIBOBJS@ 167 | LIBS = @LIBS@ 168 | LTLIBOBJS = @LTLIBOBJS@ 169 | MAINT = @MAINT@ 170 | MAKEINFO = @MAKEINFO@ 171 | MKDIR_P = @MKDIR_P@ 172 | PACKAGE = @PACKAGE@ 173 | PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ 174 | PACKAGE_NAME = @PACKAGE_NAME@ 175 | PACKAGE_STRING = @PACKAGE_STRING@ 176 | PACKAGE_TARNAME = @PACKAGE_TARNAME@ 177 | PACKAGE_URL = @PACKAGE_URL@ 178 | PACKAGE_VERSION = @PACKAGE_VERSION@ 179 | PATH_SEPARATOR = @PATH_SEPARATOR@ 180 | POD2MAN = @POD2MAN@ 181 | SET_MAKE = @SET_MAKE@ 182 | SHELL = @SHELL@ 183 | STRIP = @STRIP@ 184 | VERSION = @VERSION@ 185 | abs_builddir = @abs_builddir@ 186 | abs_srcdir = @abs_srcdir@ 187 | abs_top_builddir = @abs_top_builddir@ 188 | abs_top_srcdir = @abs_top_srcdir@ 189 | am__leading_dot = @am__leading_dot@ 190 | am__tar = @am__tar@ 191 | am__untar = @am__untar@ 192 | bindir = @bindir@ 193 | build_alias = @build_alias@ 194 | builddir = @builddir@ 195 | datadir = @datadir@ 196 | datarootdir = @datarootdir@ 197 | docdir = @docdir@ 198 | dvidir = @dvidir@ 199 | exec_prefix = @exec_prefix@ 200 | host_alias = @host_alias@ 201 | htmldir = @htmldir@ 202 | includedir = @includedir@ 203 | infodir = @infodir@ 204 | install_sh = @install_sh@ 205 | libdir = @libdir@ 206 | libexecdir = @libexecdir@ 207 | localedir = @localedir@ 208 | localstatedir = @localstatedir@ 209 | mandir = @mandir@ 210 | mkdir_p = @mkdir_p@ 211 | oldincludedir = @oldincludedir@ 212 | pdfdir = @pdfdir@ 213 | prefix = @prefix@ 214 | program_transform_name = @program_transform_name@ 215 | psdir = @psdir@ 216 | runstatedir = @runstatedir@ 217 | sbindir = @sbindir@ 218 | sharedstatedir = @sharedstatedir@ 219 | srcdir = @srcdir@ 220 | sysconfdir = @sysconfdir@ 221 | target_alias = @target_alias@ 222 | top_build_prefix = @top_build_prefix@ 223 | top_builddir = @top_builddir@ 224 | top_srcdir = @top_srcdir@ 225 | bin_SCRIPTS = fizsh 226 | scriptdir = ${sysconfdir}/fizsh 227 | script_SCRIPTS = fizshrc.zsh zsh-history-substring-search.zsh zsh-syntax-highlighting.zsh fizsh-prompt.zsh modify-etc-shells.sh brackets-highlighter.zsh cursor-highlighter.zsh line-highlighter.zsh main-highlighter.zsh pattern-highlighter.zsh root-highlighter.zsh fizsh-miscellaneous.zsh 228 | all: all-am 229 | 230 | .SUFFIXES: 231 | $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) 232 | @for dep in $?; do \ 233 | case '$(am__configure_deps)' in \ 234 | *$$dep*) \ 235 | ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ 236 | && { if test -f $@; then exit 0; else break; fi; }; \ 237 | exit 1;; \ 238 | esac; \ 239 | done; \ 240 | echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu scripts/Makefile'; \ 241 | $(am__cd) $(top_srcdir) && \ 242 | $(AUTOMAKE) --gnu scripts/Makefile 243 | Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status 244 | @case '$?' in \ 245 | *config.status*) \ 246 | cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ 247 | *) \ 248 | echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ 249 | cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ 250 | esac; 251 | 252 | $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) 253 | cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh 254 | 255 | $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) 256 | cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh 257 | $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) 258 | cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh 259 | $(am__aclocal_m4_deps): 260 | install-binSCRIPTS: $(bin_SCRIPTS) 261 | @$(NORMAL_INSTALL) 262 | @list='$(bin_SCRIPTS)'; test -n "$(bindir)" || list=; \ 263 | if test -n "$$list"; then \ 264 | echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \ 265 | $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \ 266 | fi; \ 267 | for p in $$list; do \ 268 | if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ 269 | if test -f "$$d$$p"; then echo "$$d$$p"; echo "$$p"; else :; fi; \ 270 | done | \ 271 | sed -e 'p;s,.*/,,;n' \ 272 | -e 'h;s|.*|.|' \ 273 | -e 'p;x;s,.*/,,;$(transform)' | sed 'N;N;N;s,\n, ,g' | \ 274 | $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1; } \ 275 | { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \ 276 | if ($$2 == $$4) { files[d] = files[d] " " $$1; \ 277 | if (++n[d] == $(am__install_max)) { \ 278 | print "f", d, files[d]; n[d] = 0; files[d] = "" } } \ 279 | else { print "f", d "/" $$4, $$1 } } \ 280 | END { for (d in files) print "f", d, files[d] }' | \ 281 | while read type dir files; do \ 282 | if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \ 283 | test -z "$$files" || { \ 284 | echo " $(INSTALL_SCRIPT) $$files '$(DESTDIR)$(bindir)$$dir'"; \ 285 | $(INSTALL_SCRIPT) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \ 286 | } \ 287 | ; done 288 | 289 | uninstall-binSCRIPTS: 290 | @$(NORMAL_UNINSTALL) 291 | @list='$(bin_SCRIPTS)'; test -n "$(bindir)" || exit 0; \ 292 | files=`for p in $$list; do echo "$$p"; done | \ 293 | sed -e 's,.*/,,;$(transform)'`; \ 294 | dir='$(DESTDIR)$(bindir)'; $(am__uninstall_files_from_dir) 295 | install-scriptSCRIPTS: $(script_SCRIPTS) 296 | @$(NORMAL_INSTALL) 297 | @list='$(script_SCRIPTS)'; test -n "$(scriptdir)" || list=; \ 298 | if test -n "$$list"; then \ 299 | echo " $(MKDIR_P) '$(DESTDIR)$(scriptdir)'"; \ 300 | $(MKDIR_P) "$(DESTDIR)$(scriptdir)" || exit 1; \ 301 | fi; \ 302 | for p in $$list; do \ 303 | if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ 304 | if test -f "$$d$$p"; then echo "$$d$$p"; echo "$$p"; else :; fi; \ 305 | done | \ 306 | sed -e 'p;s,.*/,,;n' \ 307 | -e 'h;s|.*|.|' \ 308 | -e 'p;x;s,.*/,,;$(transform)' | sed 'N;N;N;s,\n, ,g' | \ 309 | $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1; } \ 310 | { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \ 311 | if ($$2 == $$4) { files[d] = files[d] " " $$1; \ 312 | if (++n[d] == $(am__install_max)) { \ 313 | print "f", d, files[d]; n[d] = 0; files[d] = "" } } \ 314 | else { print "f", d "/" $$4, $$1 } } \ 315 | END { for (d in files) print "f", d, files[d] }' | \ 316 | while read type dir files; do \ 317 | if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \ 318 | test -z "$$files" || { \ 319 | echo " $(INSTALL_SCRIPT) $$files '$(DESTDIR)$(scriptdir)$$dir'"; \ 320 | $(INSTALL_SCRIPT) $$files "$(DESTDIR)$(scriptdir)$$dir" || exit $$?; \ 321 | } \ 322 | ; done 323 | 324 | uninstall-scriptSCRIPTS: 325 | @$(NORMAL_UNINSTALL) 326 | @list='$(script_SCRIPTS)'; test -n "$(scriptdir)" || exit 0; \ 327 | files=`for p in $$list; do echo "$$p"; done | \ 328 | sed -e 's,.*/,,;$(transform)'`; \ 329 | dir='$(DESTDIR)$(scriptdir)'; $(am__uninstall_files_from_dir) 330 | tags TAGS: 331 | 332 | ctags CTAGS: 333 | 334 | cscope cscopelist: 335 | 336 | 337 | distdir: $(DISTFILES) 338 | @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ 339 | topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ 340 | list='$(DISTFILES)'; \ 341 | dist_files=`for file in $$list; do echo $$file; done | \ 342 | sed -e "s|^$$srcdirstrip/||;t" \ 343 | -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ 344 | case $$dist_files in \ 345 | */*) $(MKDIR_P) `echo "$$dist_files" | \ 346 | sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ 347 | sort -u` ;; \ 348 | esac; \ 349 | for file in $$dist_files; do \ 350 | if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ 351 | if test -d $$d/$$file; then \ 352 | dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ 353 | if test -d "$(distdir)/$$file"; then \ 354 | find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ 355 | fi; \ 356 | if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ 357 | cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ 358 | find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ 359 | fi; \ 360 | cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ 361 | else \ 362 | test -f "$(distdir)/$$file" \ 363 | || cp -p $$d/$$file "$(distdir)/$$file" \ 364 | || exit 1; \ 365 | fi; \ 366 | done 367 | check-am: all-am 368 | check: check-am 369 | all-am: Makefile $(SCRIPTS) 370 | installdirs: 371 | for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(scriptdir)"; do \ 372 | test -z "$$dir" || $(MKDIR_P) "$$dir"; \ 373 | done 374 | install: install-am 375 | install-exec: install-exec-am 376 | install-data: install-data-am 377 | uninstall: uninstall-am 378 | 379 | install-am: all-am 380 | @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am 381 | 382 | installcheck: installcheck-am 383 | install-strip: 384 | if test -z '$(STRIP)'; then \ 385 | $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ 386 | install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ 387 | install; \ 388 | else \ 389 | $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ 390 | install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ 391 | "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ 392 | fi 393 | mostlyclean-generic: 394 | 395 | clean-generic: 396 | 397 | distclean-generic: 398 | -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) 399 | -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) 400 | 401 | maintainer-clean-generic: 402 | @echo "This command is intended for maintainers to use" 403 | @echo "it deletes files that may require special tools to rebuild." 404 | clean: clean-am 405 | 406 | clean-am: clean-generic mostlyclean-am 407 | 408 | distclean: distclean-am 409 | -rm -f Makefile 410 | distclean-am: clean-am distclean-generic 411 | 412 | dvi: dvi-am 413 | 414 | dvi-am: 415 | 416 | html: html-am 417 | 418 | html-am: 419 | 420 | info: info-am 421 | 422 | info-am: 423 | 424 | install-data-am: install-scriptSCRIPTS 425 | 426 | install-dvi: install-dvi-am 427 | 428 | install-dvi-am: 429 | 430 | install-exec-am: install-binSCRIPTS 431 | 432 | install-html: install-html-am 433 | 434 | install-html-am: 435 | 436 | install-info: install-info-am 437 | 438 | install-info-am: 439 | 440 | install-man: 441 | 442 | install-pdf: install-pdf-am 443 | 444 | install-pdf-am: 445 | 446 | install-ps: install-ps-am 447 | 448 | install-ps-am: 449 | 450 | installcheck-am: 451 | 452 | maintainer-clean: maintainer-clean-am 453 | -rm -f Makefile 454 | maintainer-clean-am: distclean-am maintainer-clean-generic 455 | 456 | mostlyclean: mostlyclean-am 457 | 458 | mostlyclean-am: mostlyclean-generic 459 | 460 | pdf: pdf-am 461 | 462 | pdf-am: 463 | 464 | ps: ps-am 465 | 466 | ps-am: 467 | 468 | uninstall-am: uninstall-binSCRIPTS uninstall-scriptSCRIPTS 469 | 470 | .MAKE: install-am install-strip 471 | 472 | .PHONY: all all-am check check-am clean clean-generic cscopelist-am \ 473 | ctags-am distclean distclean-generic distdir dvi dvi-am html \ 474 | html-am info info-am install install-am install-binSCRIPTS \ 475 | install-data install-data-am install-dvi install-dvi-am \ 476 | install-exec install-exec-am install-html install-html-am \ 477 | install-info install-info-am install-man install-pdf \ 478 | install-pdf-am install-ps install-ps-am install-scriptSCRIPTS \ 479 | install-strip installcheck installcheck-am installdirs \ 480 | maintainer-clean maintainer-clean-generic mostlyclean \ 481 | mostlyclean-generic pdf pdf-am ps ps-am tags-am uninstall \ 482 | uninstall-am uninstall-binSCRIPTS uninstall-scriptSCRIPTS 483 | 484 | .PRECIOUS: Makefile 485 | 486 | 487 | # Tell versions [3.59,3.63) of GNU make to not export all variables. 488 | # Otherwise a system limit (for SysV at least) may be exceeded. 489 | .NOEXPORT: 490 | -------------------------------------------------------------------------------- /scripts/brackets-highlighter.zsh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env zsh 2 | # ------------------------------------------------------------------------------------------------- 3 | # Copyright (c) 2010-2016 zsh-syntax-highlighting contributors 4 | # All rights reserved. 5 | # 6 | # Redistribution and use in source and binary forms, with or without modification, are permitted 7 | # provided that the following conditions are met: 8 | # 9 | # * Redistributions of source code must retain the above copyright notice, this list of conditions 10 | # and the following disclaimer. 11 | # * Redistributions in binary form must reproduce the above copyright notice, this list of 12 | # conditions and the following disclaimer in the documentation and/or other materials provided 13 | # with the distribution. 14 | # * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors 15 | # may be used to endorse or promote products derived from this software without specific prior 16 | # written permission. 17 | # 18 | # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR 19 | # IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND 20 | # FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR 21 | # CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 22 | # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 23 | # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER 24 | # IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT 25 | # OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 26 | # ------------------------------------------------------------------------------------------------- 27 | # -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- 28 | # vim: ft=zsh sw=2 ts=2 et 29 | # ------------------------------------------------------------------------------------------------- 30 | 31 | 32 | # Define default styles. 33 | : ${ZSH_HIGHLIGHT_STYLES[bracket-error]:=fg=red,bold} 34 | : ${ZSH_HIGHLIGHT_STYLES[bracket-level-1]:=fg=blue,bold} 35 | : ${ZSH_HIGHLIGHT_STYLES[bracket-level-2]:=fg=green,bold} 36 | : ${ZSH_HIGHLIGHT_STYLES[bracket-level-3]:=fg=magenta,bold} 37 | : ${ZSH_HIGHLIGHT_STYLES[bracket-level-4]:=fg=yellow,bold} 38 | : ${ZSH_HIGHLIGHT_STYLES[bracket-level-5]:=fg=cyan,bold} 39 | : ${ZSH_HIGHLIGHT_STYLES[cursor-matchingbracket]:=standout} 40 | 41 | # Whether the brackets highlighter should be called or not. 42 | _zsh_highlight_highlighter_brackets_predicate() 43 | { 44 | [[ $WIDGET == zle-line-finish ]] || _zsh_highlight_cursor_moved || _zsh_highlight_buffer_modified 45 | } 46 | 47 | # Brackets highlighting function. 48 | _zsh_highlight_highlighter_brackets_paint() 49 | { 50 | local char style 51 | local -i bracket_color_size=${#ZSH_HIGHLIGHT_STYLES[(I)bracket-level-*]} buflen=${#BUFFER} level=0 matchingpos pos 52 | local -A levelpos lastoflevel matching 53 | 54 | # Find all brackets and remember which one is matching 55 | for (( pos = 1; pos <= buflen; pos++ )) ; do 56 | char=$BUFFER[pos] 57 | case $char in 58 | ["([{"]) 59 | levelpos[$pos]=$((++level)) 60 | lastoflevel[$level]=$pos 61 | ;; 62 | [")]}"]) 63 | matchingpos=$lastoflevel[$level] 64 | levelpos[$pos]=$((level--)) 65 | if _zsh_highlight_brackets_match $matchingpos $pos; then 66 | matching[$matchingpos]=$pos 67 | matching[$pos]=$matchingpos 68 | fi 69 | ;; 70 | ['"'\']) 71 | # Skip everything inside quotes 72 | pos=$BUFFER[(ib:pos+1:)$char] 73 | ;; 74 | esac 75 | done 76 | 77 | # Now highlight all found brackets 78 | for pos in ${(k)levelpos}; do 79 | if (( $+matching[$pos] )); then 80 | if (( bracket_color_size )); then 81 | style=bracket-level-$(( (levelpos[$pos] - 1) % bracket_color_size + 1 )) 82 | fi 83 | else 84 | style=bracket-error 85 | fi 86 | _zsh_highlight_add_highlight $((pos - 1)) $pos $style 87 | done 88 | 89 | # If cursor is on a bracket, then highlight corresponding bracket, if any. 90 | if [[ $WIDGET != zle-line-finish ]]; then 91 | pos=$((CURSOR + 1)) 92 | if [[ -n $levelpos[$pos] ]] && [[ -n $matching[$pos] ]]; then 93 | local -i otherpos=$matching[$pos] 94 | _zsh_highlight_add_highlight $((otherpos - 1)) $otherpos cursor-matchingbracket 95 | fi 96 | fi 97 | } 98 | 99 | # Helper function to differentiate type 100 | _zsh_highlight_brackets_match() 101 | { 102 | case $BUFFER[$1] in 103 | \() [[ $BUFFER[$2] == \) ]];; 104 | \[) [[ $BUFFER[$2] == \] ]];; 105 | \{) [[ $BUFFER[$2] == \} ]];; 106 | *) false;; 107 | esac 108 | } 109 | -------------------------------------------------------------------------------- /scripts/cursor-highlighter.zsh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env zsh 2 | # ------------------------------------------------------------------------------------------------- 3 | # Copyright (c) 2010-2011 zsh-syntax-highlighting contributors 4 | # All rights reserved. 5 | # 6 | # Redistribution and use in source and binary forms, with or without modification, are permitted 7 | # provided that the following conditions are met: 8 | # 9 | # * Redistributions of source code must retain the above copyright notice, this list of conditions 10 | # and the following disclaimer. 11 | # * Redistributions in binary form must reproduce the above copyright notice, this list of 12 | # conditions and the following disclaimer in the documentation and/or other materials provided 13 | # with the distribution. 14 | # * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors 15 | # may be used to endorse or promote products derived from this software without specific prior 16 | # written permission. 17 | # 18 | # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR 19 | # IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND 20 | # FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR 21 | # CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 22 | # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 23 | # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER 24 | # IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT 25 | # OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 26 | # ------------------------------------------------------------------------------------------------- 27 | # -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- 28 | # vim: ft=zsh sw=2 ts=2 et 29 | # ------------------------------------------------------------------------------------------------- 30 | 31 | 32 | # Define default styles. 33 | : ${ZSH_HIGHLIGHT_STYLES[cursor]:=standout} 34 | 35 | # Whether the cursor highlighter should be called or not. 36 | _zsh_highlight_highlighter_cursor_predicate() 37 | { 38 | # remove cursor highlighting when the line is finished 39 | [[ $WIDGET == zle-line-finish ]] || _zsh_highlight_cursor_moved 40 | } 41 | 42 | # Cursor highlighting function. 43 | _zsh_highlight_highlighter_cursor_paint() 44 | { 45 | [[ $WIDGET == zle-line-finish ]] && return 46 | 47 | _zsh_highlight_add_highlight $CURSOR $(( $CURSOR + 1 )) cursor 48 | } 49 | -------------------------------------------------------------------------------- /scripts/fizsh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env zsh 2 | # 3 | # ------------------------------------------------------------------------------------------------- 4 | # Copyright (c) 2011 - 2017 Guido van Steen 5 | # All rights reserved. 6 | # 7 | # 8 | # Redistribution and use in source and binary forms, with or without modification, are permitted 9 | # provided that the following conditions are met: 10 | # 11 | # * Redistributions of source code must retain the above copyright notice, this list of conditions 12 | # and the following disclaimer. 13 | # * Redistributions in binary form must reproduce the above copyright notice, this list of 14 | # conditions and the following disclaimer in the documentation and/or other materials provided 15 | # with the distribution. 16 | # * Neither the name of the FIZSH nor the names of its contributors may be used to endorse or 17 | # promote products derived from this software without specific prior written permission. 18 | # 19 | # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR 20 | # IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND 21 | # FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR 22 | # CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 23 | # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 24 | # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER 25 | # IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT 26 | # OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 27 | # ------------------------------------------------------------------------------------------------- 28 | # -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- 29 | # vim: ft=zsh sw=2 ts=2 et 30 | 31 | ################################################ 32 | # 33 | # Define a portable function _fizsh_cp_u which should implement 34 | # a portable version of cp -u (from the gnu coreutils) 35 | # 36 | function _fizsh_cp_u () { 37 | if [[ ! -f $2 || $1 -nt $2 ]] then; 38 | cp -p $1 $2 39 | fi 40 | } 41 | 42 | ################################################ 43 | # 44 | # Set the fizsh dot dir, the bin dir and the sysconf (etc) dir 45 | # 46 | export _fizsh_F_DOT_DIR=$HOME/.fizsh 47 | 48 | export _fizsh_F_FIZSH=fizsh 49 | 50 | export _fizsh_F_EXEC_DIR=$(dirname "$0") 51 | [[ $_fizsh_F_EXEC_DIR == "." ]] && export _fizsh_F_EXEC_DIR=$(pwd) # if we happen to be in $_fizsh_F_EXEC_DIR 52 | 53 | 54 | _fizsh_F_FIZSH_INSTALLED_AND_ON_PATH=$(type $_fizsh_F_FIZSH) 55 | if [[ "$?" -ne 0 ]]; then 56 | export PATH=$_fizsh_F_EXEC_DIR:$PATH 57 | _fizsh_F_FIZSH_INSTALLED_AND_ON_PATH=$(type $_fizsh_F_FIZSH) 58 | if [[ "$?" -ne 0 ]]; then # actually, this should never happen 59 | echo "_fizsh: Make sure that fizsh is installed correctly and that your path is set accordingly" 60 | exit 1 61 | fi 62 | fi 63 | 64 | export _fizsh_F_FIZSH_FULL_PATH=$(which $_fizsh_F_FIZSH) 65 | export _fizsh_F_BIN_DIR=$(echo $_fizsh_F_FIZSH_FULL_PATH | sed -e "s/\/$_fizsh_F_FIZSH//") 66 | export _fizsh_F_ETC_DIR=$(echo $_fizsh_F_BIN_DIR | sed -e "s/bin/etc/")/$_fizsh_F_FIZSH 67 | [[ $_fizsh_F_ETC_DIR == "/usr/etc/$_fizsh_F_FIZSH" ]] && export _fizsh_F_ETC_DIR="/etc/$_fizsh_F_FIZSH" # needed on systems like Debian 68 | _fizsh_F_PS=1; which ps > /dev/null || _fizsh_F_PS=0; export _fizsh_F_PS 69 | 70 | ################################################ 71 | # 72 | # Set the other environment variables 73 | # 74 | export _fizsh_F_SYNTAX=zsh-syntax-highlighting.zsh 75 | export _fizsh_F_HIGHLIGHTERS_DIR=highlighters 76 | export _fizsh_F_SEARCH=zsh-history-substring-search.zsh 77 | export _fizsh_F_PROMPT=fizsh-prompt.zsh 78 | export _fizsh_F_FIZSHRC=fizshrc.zsh 79 | export _fizsh_F_MISC=fizsh-miscellaneous.zsh 80 | export _fizsh_F_VERSION_FILE=.fizsh-version 81 | 82 | ################################################ 83 | # 84 | # Set the version number 85 | # 86 | export _fizsh_F_CENTRAL_VERSION=1.0.9 87 | if [[ ! -f $_fizsh_F_DOT_DIR/$_fizsh_F_VERSION_FILE ]]; then 88 | mkdir -p $_fizsh_F_DOT_DIR 89 | touch $_fizsh_F_DOT_DIR/$_fizsh_F_VERSION_FILE 90 | fi 91 | export _fizsh_F_LOCAL_VERSION=$(cat $_fizsh_F_DOT_DIR/$_fizsh_F_VERSION_FILE) 92 | 93 | ################################################ 94 | # 95 | # If a new central version is detected (for the first time) the old config files are removed 96 | # 97 | if [[ $_fizsh_F_LOCAL_VERSION != $_fizsh_F_CENTRAL_VERSION ]]; then 98 | rm -rf $_fizsh_F_DOT_DIR/$_fizsh_F_PROMPT 99 | rm -rf $_fizsh_F_DOT_DIR/$_fizsh_F_SEARCH 100 | rm -rf $_fizsh_F_DOT_DIR/$_fizsh_F_SYNTAX 101 | rm -rf $_fizsh_F_DOT_DIR/$_fizsh_F_HIGHLIGHTERS_DIR/brackets/brackets-highlighter.zsh 102 | rm -rf $_fizsh_F_DOT_DIR/$_fizsh_F_HIGHLIGHTERS_DIR/cursor/cursor-highlighter.zsh 103 | rm -rf $_fizsh_F_DOT_DIR/$_fizsh_F_HIGHLIGHTERS_DIR/line/line-highlighter.zsh 104 | rm -rf $_fizsh_F_DOT_DIR/$_fizsh_F_HIGHLIGHTERS_DIR/main/main-highlighter.zsh 105 | rm -rf $_fizsh_F_DOT_DIR/$_fizsh_F_HIGHLIGHTERS_DIR/pattern/pattern-highlighter.zsh 106 | rm -rf $_fizsh_F_DOT_DIR/$_fizsh_F_HIGHLIGHTERS_DIR/root/root-highlighter.zsh 107 | rm -rf $_fizsh_F_DOT_DIR/$_fizsh_F_MISC 108 | rm -rf $_fizsh_F_DOT_DIR/$_fizsh_F_FIZSH 109 | rm -rf $_fizsh_F_DOT_DIR/.zshrc 110 | export _fizsh_F_LOCAL_VERSION=$_fizsh_F_CENTRAL_VERSION 111 | echo $_fizsh_F_LOCAL_VERSION > $_fizsh_F_DOT_DIR/$_fizsh_F_VERSION_FILE 112 | fi 113 | 114 | ################################################ 115 | # 116 | # Create .zprofile 117 | # 118 | function _fizsh-create-zprofile () { 119 | echo "################################################" > $_fizsh_F_DOT_DIR/.zprofile 120 | echo "#" >> $_fizsh_F_DOT_DIR/.zprofile 121 | echo "function _fizsh-login-message () {" >> $_fizsh_F_DOT_DIR/.zprofile 122 | echo " echo 'welcome to fizsh, the friendly interactive zshell'" >> $_fizsh_F_DOT_DIR/.zprofile 123 | echo " print -P 'type %F{green}fizsh%F{reset} for instructions on how to use fizsh'" >> $_fizsh_F_DOT_DIR/.zprofile 124 | echo "}" >> $_fizsh_F_DOT_DIR/.zprofile 125 | echo "" >> $_fizsh_F_DOT_DIR/.zprofile 126 | echo "_fizsh-login-message" >> $_fizsh_F_DOT_DIR/.zprofile 127 | } 128 | [[ !(-f $_fizsh_F_DOT_DIR/.zprofile) ]] && _fizsh-create-zprofile 129 | 130 | ################################################ 131 | # 132 | # Print the usage message 133 | # 134 | function _fizsh-usage-message () { 135 | echo "Usage: fizsh [] [ ...]" 136 | echo " -h, --help show this message, then exit" 137 | echo " -l, --login start a login shell" 138 | echo " -v, --version show fizsh version number, then exit" 139 | echo "" 140 | echo "fizsh is a interactive front end to zsh. Options and" 141 | echo "arguments not mentioned here cause fizsh to revert to zsh." 142 | } 143 | 144 | ################################################ 145 | # 146 | # Create .zlogout 147 | # 148 | function _fizsh-create-zlogout () { 149 | echo "################################################" > $_fizsh_F_DOT_DIR/.zlogout 150 | echo "#" >> $_fizsh_F_DOT_DIR/.zlogout 151 | echo "# Print the goodbye message" >> $_fizsh_F_DOT_DIR/.zlogout 152 | echo "#" >> $_fizsh_F_DOT_DIR/.zlogout 153 | echo "function _fizsh-goodbye-message () {" >> $_fizsh_F_DOT_DIR/.zlogout 154 | echo " echo ''" >> $_fizsh_F_DOT_DIR/.zlogout 155 | echo " echo 'Goodbye'" >> $_fizsh_F_DOT_DIR/.zlogout 156 | echo " exit" >> $_fizsh_F_DOT_DIR/.zlogout 157 | echo "}" >> $_fizsh_F_DOT_DIR/.zlogout 158 | echo "" >> $_fizsh_F_DOT_DIR/.zlogout 159 | echo "_fizsh-goodbye-message" >> $_fizsh_F_DOT_DIR/.zlogout 160 | } 161 | [[ !(-f $_fizsh_F_DOT_DIR/.zlogout) ]] && _fizsh-create-zlogout 162 | 163 | ################################################ 164 | # 165 | # Create .version and .revision-hash (needed for zsh-syntax-highlighting) 166 | # 167 | [[ !(-f $_fizsh_F_DOT_DIR/.version) ]] && touch $_fizsh_F_DOT_DIR/.version 168 | [[ !(-f $_fizsh_F_DOT_DIR/.revision-hash) ]] && touch $_fizsh_F_DOT_DIR/.revision-hash 169 | 170 | ################################################ 171 | # 172 | # Fizsh can be called with three options: "-v"/"--version", "-h"/"--help" and "-l"/"--login". 173 | # 174 | if [[ ( $@ == "--version" ) || ( $@ == "-v" ) ]]; then 175 | echo "fizsh, version "$_fizsh_F_LOCAL_VERSION 176 | elif [[ ( $@ == "--help" ) || ( $@ == "-h" ) ]]; then 177 | _fizsh-usage-message 178 | elif [[ ( $@ == "--login" ) || ( $@ == "-l" ) || ( $@ == "" ) ]]; then 179 | [[ $+ZDOTDIR -eq 1 ]] && [[ $+_fizsh_F_OLD_ZDOTDIR -eq 0 ]] && export _fizsh_F_OLD_ZDOTDIR=$ZDOTDIR 180 | mkdir -p $_fizsh_F_DOT_DIR 181 | mkdir -p $_fizsh_F_DOT_DIR/$_fizsh_F_HIGHLIGHTERS_DIR/brackets 182 | mkdir -p $_fizsh_F_DOT_DIR/$_fizsh_F_HIGHLIGHTERS_DIR/cursor 183 | mkdir -p $_fizsh_F_DOT_DIR/$_fizsh_F_HIGHLIGHTERS_DIR/line 184 | mkdir -p $_fizsh_F_DOT_DIR/$_fizsh_F_HIGHLIGHTERS_DIR/main 185 | mkdir -p $_fizsh_F_DOT_DIR/$_fizsh_F_HIGHLIGHTERS_DIR/pattern 186 | mkdir -p $_fizsh_F_DOT_DIR/$_fizsh_F_HIGHLIGHTERS_DIR/root 187 | if [[ ( ! -f $_fizsh_F_DOT_DIR/.fizshrc ) ]]; then 188 | touch $_fizsh_F_DOT_DIR/.fizshrc 189 | chmod +x $_fizsh_F_DOT_DIR/.fizshrc 190 | fi 191 | _fizsh_cp_u $_fizsh_F_ETC_DIR/$_fizsh_F_PROMPT $_fizsh_F_DOT_DIR/$_fizsh_F_PROMPT 192 | _fizsh_cp_u $_fizsh_F_ETC_DIR/$_fizsh_F_SEARCH $_fizsh_F_DOT_DIR/$_fizsh_F_SEARCH 193 | _fizsh_cp_u $_fizsh_F_ETC_DIR/$_fizsh_F_SYNTAX $_fizsh_F_DOT_DIR/$_fizsh_F_SYNTAX 194 | _fizsh_cp_u $_fizsh_F_ETC_DIR/brackets-highlighter.zsh $_fizsh_F_DOT_DIR/$_fizsh_F_HIGHLIGHTERS_DIR/brackets/brackets-highlighter.zsh 195 | _fizsh_cp_u $_fizsh_F_ETC_DIR/cursor-highlighter.zsh $_fizsh_F_DOT_DIR/$_fizsh_F_HIGHLIGHTERS_DIR/cursor/cursor-highlighter.zsh 196 | _fizsh_cp_u $_fizsh_F_ETC_DIR/line-highlighter.zsh $_fizsh_F_DOT_DIR/$_fizsh_F_HIGHLIGHTERS_DIR/line/line-highlighter.zsh 197 | _fizsh_cp_u $_fizsh_F_ETC_DIR/main-highlighter.zsh $_fizsh_F_DOT_DIR/$_fizsh_F_HIGHLIGHTERS_DIR/main/main-highlighter.zsh 198 | _fizsh_cp_u $_fizsh_F_ETC_DIR/pattern-highlighter.zsh $_fizsh_F_DOT_DIR/$_fizsh_F_HIGHLIGHTERS_DIR/pattern/pattern-highlighter.zsh 199 | _fizsh_cp_u $_fizsh_F_ETC_DIR/root-highlighter.zsh $_fizsh_F_DOT_DIR/$_fizsh_F_HIGHLIGHTERS_DIR/root/root-highlighter.zsh 200 | _fizsh_cp_u $_fizsh_F_ETC_DIR/$_fizsh_F_MISC $_fizsh_F_DOT_DIR/$_fizsh_F_MISC 201 | _fizsh_cp_u $_fizsh_F_BIN_DIR/$_fizsh_F_FIZSH $_fizsh_F_DOT_DIR/$_fizsh_F_FIZSH 202 | _fizsh_cp_u $_fizsh_F_ETC_DIR/$_fizsh_F_FIZSHRC $_fizsh_F_DOT_DIR/.zshrc 203 | export ZDOTDIR=$_fizsh_F_DOT_DIR 204 | if [[ ( $@ == "--login" ) || ( $@ == "-l" ) ]] || ( [[ $_fizsh_F_PS == 1 ]] && [[ $(ps -o comm= -p $PPID) == "login" ]] ) ; then 205 | exec -a -fizsh zsh -l 206 | else 207 | exec -a fizsh zsh 208 | fi 209 | else 210 | zsh "$@" # this makes sure that fizsh also works with ssh, sftp and so on. 211 | fi 212 | -------------------------------------------------------------------------------- /scripts/fizsh-miscellaneous.zsh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env zsh 2 | # 3 | # /etc/fizsh-miscellaneous.zsh 4 | # 5 | # ------------------------------------------------------------------------------------------------- 6 | # Copyright (c) 2011 - 2017 Guido van Steen 7 | # All rights reserved. 8 | # 9 | # 10 | # Redistribution and use in source and binary forms, with or without modification, are permitted 11 | # provided that the following conditions are met: 12 | # 13 | # * Redistributions of source code must retain the above copyright notice, this list of conditions 14 | # and the following disclaimer. 15 | # * Redistributions in binary form must reproduce the above copyright notice, this list of 16 | # conditions and the following disclaimer in the documentation and/or other materials provided 17 | # with the distribution. 18 | # * Neither the name of the FIZSH nor the names of its contributors may be used to endorse or 19 | # promote products derived from this software without specific prior written permission. 20 | # 21 | # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR 22 | # IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND 23 | # FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR 24 | # CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 25 | # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 26 | # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER 27 | # IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT 28 | # OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29 | # ------------------------------------------------------------------------------------------------- 30 | # -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- 31 | # vim: ft=zsh sw=2 ts=2 et 32 | # ------------------------------------------------------------------------------------------------- 33 | # 34 | # This script takes care of binding the keys. 35 | # 36 | 37 | ################################################ 38 | # 39 | # Register history-substring-search-up and history-substring-search-down as user-defined zle widgets 40 | # 41 | zle -N history-substring-search-up 42 | zle -N history-substring-search-down 43 | 44 | ################################################ 45 | # 46 | # Create the array "key" if it does not exist 47 | # 48 | [[ $(echo ${key+1}) != "1" ]] && typeset -A key && key=(Up "${terminfo[kcuu1]}" Down "${terminfo[kcud1]}" Home "${terminfo[khome]}" End "${terminfo[kend]}" Insert "${terminfo[kich1]}" Delete "${terminfo[kdch1]}" Left "${terminfo[kcub1]}" Right "${terminfo[kcuf1]}" PageUp "${terminfo[kpp]}" PageDown "${terminfo[knp]}") 49 | 50 | ################################################ 51 | # 52 | # Define missing keys using terminfo 53 | # 54 | [[ "${key[Up]}" == "" ]] && key[Up]="${terminfo[kcuu1]}" 55 | [[ "${key[Down]}" == "" ]] && key[Down]="${terminfo[kcud1]}" 56 | [[ "${key[Home]}" == "" ]] && key[Home]="${terminfo[khome]}" 57 | [[ "${key[End]}" == "" ]] && key[End]}="${terminfo[kend]}" 58 | [[ "${key[Insert]}" == "" ]] && key[Insert]="${terminfo[kich1]}" 59 | [[ "${key[Delete]}" == "" ]] && key[Delete]="${terminfo[kdch1]}" 60 | [[ "${key[Left]}" == "" ]] && key[Left]}="${terminfo[kcub1]}" 61 | [[ "${key[Right]}" == "" ]] && key[Right]="${terminfo[kcuf1]}" 62 | [[ "${key[PageUp]}" == "" ]] && key[PageUp]="${terminfo[kpp]}" 63 | [[ "${key[PageDown]}" == "" ]] && key[PageDown]="${terminfo[knp]}" 64 | 65 | ################################################ 66 | # 67 | # Bind the keys in $key 68 | # 69 | bindkey "${key[Up]}" history-substring-search-up 70 | bindkey "${key[Down]}" history-substring-search-down 71 | bindkey "${key[Home]}" beginning-of-line 72 | bindkey "${key[End]}" end-of-line 73 | bindkey "${key[Insert]}" overwrite-mode 74 | bindkey "${key[Delete]}" delete-char 75 | bindkey "${key[Left]}" backward-char 76 | bindkey "${key[Right]}" forward-char 77 | bindkey "${key[PageUp]}" beginning-of-history 78 | bindkey "${key[PageDown]}" end-of-history 79 | 80 | ################################################ 81 | # 82 | # As a fallback bind some additional key codes that could be generated 83 | # 84 | bindkey "$terminfo[kcuu1]" history-substring-search-up 85 | bindkey "$terminfo[kcud1]" history-substring-search-down 86 | 87 | bindkey "\e[A" history-substring-search-up 88 | bindkey "\e[B" history-substring-search-down 89 | 90 | bindkey "^[[A" history-substring-search-up 91 | bindkey "^[0A" history-substring-search-up 92 | 93 | bindkey "^[[B" history-substring-search-down 94 | bindkey "^[0B" history-substring-search-down 95 | 96 | ################################################ 97 | # 98 | # Bind history-incremental-search-backward, history-incremental-search-forward and backward-delete-char 99 | # history-incremental-search-backward and history-incremental-search-forward 100 | # 101 | bindkey "^[[1;5C" forward-word 102 | bindkey "^[01;5C" forward-word 103 | 104 | bindkey "^[[1;5D" backward-word 105 | bindkey "^[01;5D" backward-word 106 | 107 | bindkey "^?" backward-delete-char 108 | 109 | bindkey "^r" history-incremental-search-backward 110 | bindkey "^s" history-incremental-search-forward 111 | -------------------------------------------------------------------------------- /scripts/fizsh-prompt.zsh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env zsh 2 | # ------------------------------------------------------------------------------------------------- 3 | # Copyright (c) 2011 - 2017 Guido van Steen 4 | # All rights reserved. 5 | # 6 | # Redistribution and use in source and binary forms, with or without modification, are permitted 7 | # provided that the following conditions are met: 8 | # 9 | # * Redistributions of source code must retain the above copyright notice, this list of conditions 10 | # and the following disclaimer. 11 | # * Redistributions in binary form must reproduce the above copyright notice, this list of 12 | # conditions and the following disclaimer in the documentation and/or other materials provided 13 | # with the distribution. 14 | # * Neither the name of the FIZSH nor the names of its contributors may be used to endorse or 15 | # promote products derived from this software without specific prior written permission. 16 | # 17 | # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR 18 | # IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND 19 | # FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR 20 | # CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 21 | # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 22 | # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER 23 | # IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT 24 | # OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 25 | # ------------------------------------------------------------------------------------------------- 26 | # -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- 27 | # vim: ft=zsh sw=2 ts=2 et 28 | # 29 | # /etc/fizsh/fizsh-prompt 30 | 31 | ################################################ 32 | # 33 | # This file is not sourced (yet). So any garbage is automatically lost after this script completes. 34 | 35 | ################################################ 36 | # 37 | #fizsh-prompt() { # turning this file into function does not work for some reason 38 | 39 | #title "fizsh" "%m:%55<...<%~" 40 | setopt sh_word_split 41 | _fizsh_dyn_pwd="" 42 | _fizsh_full_path="$(pwd)" 43 | _fizsh_tilda_path=${_fizsh_full_path/$HOME/\~} 44 | # write the home directory as a tilda 45 | [[ $_fizsh_tilda_path[2,-1] == "/" ]] && _fizsh_tilda_path=$_fizsh_tilda_path[2,-1] 46 | # otherwise the first element of split_path would be empty. 47 | _fizsh_forwards_in_tilda_path=${_fizsh_tilda_path//[^["\/"]/} 48 | # remove everything that is not a "/". 49 | _fizsh_number_of_elements_in_tilda_path=$(( $#_fizsh_forwards_in_tilda_path + 1 )) 50 | # we removed the first forward slash, so we need one more element than the number of slashes. 51 | _fizsh_saveIFS="$IFS" 52 | IFS="/" 53 | _fizsh_split_path=(${_fizsh_tilda_path}) 54 | _fizsh_start_of_loop=1 55 | _fizsh_end_of_loop=$_fizsh_number_of_elements_in_tilda_path 56 | for i in {$_fizsh_start_of_loop..$_fizsh_end_of_loop} 57 | do 58 | if [[ $i == $_fizsh_end_of_loop ]]; then 59 | _fizsh_to_be_added=$_fizsh_split_path[i]'/' 60 | _fizsh_dyn_pwd=$_fizsh_dyn_pwd$_fizsh_to_be_added 61 | else 62 | _fizsh_to_be_added=$_fizsh_split_path[i] 63 | _fizsh_to_be_added=$_fizsh_to_be_added[1,1]'/' 64 | _fizsh_dyn_pwd=$_fizsh_dyn_pwd$_fizsh_to_be_added 65 | fi 66 | done 67 | unsetopt sh_word_split 68 | IFS=$_fizsh_saveIFS 69 | [[ ${_fizsh_full_path/$HOME/\~} != $_fizsh_full_path ]] && _fizsh_dyn_pwd=${_fizsh_dyn_pwd/\/~/~} 70 | # remove the slash in front of $HOME 71 | [[ $UID -ne 0 ]] && _fizsh_prompt="%n@%m%F{green} $_fizsh_dyn_pwd[0,-2]%F{reset}> %b%k%f" 72 | [[ $UID -eq 0 ]] && _fizsh_prompt="%n@%m%F{red} $_fizsh_dyn_pwd[0,-2]%F{reset}# %b%k%f" 73 | echo $_fizsh_prompt 74 | #} 75 | -------------------------------------------------------------------------------- /scripts/fizshrc.zsh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env zsh 2 | # ------------------------------------------------------------------------------------------------- 3 | # Copyright (c) 2011 - 2017 Guido van Steen 4 | # All rights reserved. 5 | # 6 | # Redistribution and use in source and binary forms, with or without modification, are permitted 7 | # provided that the following conditions are met: 8 | # 9 | # * Redistributions of source code must retain the above copyright notice, this list of conditions 10 | # and the following disclaimer. 11 | # * Redistributions in binary form must reproduce the above copyright notice, this list of 12 | # conditions and the following disclaimer in the documentation and/or other materials provided 13 | # with the distribution. 14 | # * Neither the name of the FIZSH nor the names of its contributors may be used to endorse or 15 | # promote products derived from this software without specific prior written permission. 16 | # 17 | # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR 18 | # IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND 19 | # FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR 20 | # CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 21 | # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 22 | # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER 23 | # IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT 24 | # OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 25 | # ------------------------------------------------------------------------------------------------- 26 | # -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- 27 | # vim: ft=zsh sw=2 ts=2 et 28 | # 29 | # /etc/fizsh/fizshrc 30 | 31 | # This fizshrc script intends to make zsh behave similar to fish when it comes to fish's 32 | # syntax highlighting and fish's matlab-like history search. This script also emulates 33 | # fish's prompt. 34 | # 35 | # When fizsh is run for the first time this script is copied to "$HOME/.fizsh/.zshrc". 36 | # "$HOME/.fizsh/" is fizsh's "$ZDOTDIR" directory. This file is therefore sourced automatically 37 | # when fizsh is run. 38 | # 39 | # The script was tested on Linux. It may need some modifications to work on 40 | # other systems. 41 | 42 | ################################################ 43 | # 44 | # Set the environment variables 45 | # 46 | [[ -o login ]] && 0="-fizsh" || 0="fizsh" # Trick to let people check wether fizsh is running, i.e. whether $0 is "fizsh" or "-fizsh" 47 | SHELL=$(which fizsh) 48 | 49 | ################################################ 50 | # 51 | # History 52 | # 53 | HISTFILE=$_fizsh_F_DOT_DIR/.fizsh_history 54 | HISTSIZE=100000 55 | SAVEHIST=100000 56 | 57 | ################################################ 58 | # 59 | # Append to the history file instead of overwriting it and do it immediately 60 | # when a command is executed. 61 | # 62 | setopt append_history 63 | setopt inc_append_history 64 | 65 | ################################################ 66 | # 67 | # Avoid duplicate entries in the history file 68 | # 69 | setopt hist_ignore_all_dups 70 | export HISTORY_SUBSTRING_SEARCH_ENSURE_UNIQUE=1 71 | 72 | ################################################ 73 | # 74 | # Reduce whitespace in history 75 | # 76 | setopt hist_reduce_blanks 77 | 78 | ################################################ 79 | # 80 | # Reduce whitespace in history 81 | # 82 | setopt hist_ignore_space 83 | 84 | ################################################ 85 | # 86 | # Allow interactive comments 87 | # 88 | setopt interactive_comments 89 | 90 | ################################################ 91 | # 92 | # When entering a nonexistent command name automatically try to find a similar one. 93 | # 94 | setopt correct 95 | 96 | ################################################ 97 | # 98 | # Get rid of beeps 99 | # 100 | setopt no_beep 101 | 102 | ################################################ 103 | # 104 | # Set the prompt 105 | # 106 | setopt prompt_subst 107 | 108 | ################################################ 109 | # 110 | # PS1='$(fizsh-prompt)' 111 | # for some reason turning this into a sourcable function does not work 112 | # see below as well 113 | # 114 | if [[ -r "$_fizsh_F_DOT_DIR""/fizsh-prompt.zsh" ]]; then 115 | PS1='$("$_fizsh_F_DOT_DIR"/fizsh-prompt.zsh)' 116 | else 117 | PS1='' 118 | fi 119 | 120 | ################################################ 121 | # 122 | # Set the terminal title 123 | # 124 | [[ "xterm" =~ $TERM ]] && precmd () {print -Pn "\e]0;$0: %n @ %M: %~\a"} 125 | [[ "screen" =~ $TERM ]] && precmd () {print -Pn "\e]0;$0: %n @ %M [screened]: %~\a"} 126 | 127 | ################################################ 128 | # 129 | # Initiate completion system 130 | # 131 | autoload -U compinit 132 | if [[ $_fizsh_F_COMPINIT_STARTED -ne 1 ]]; then 133 | compinit -u 134 | _fizsh_F_COMPINIT_STARTED=1 135 | fi 136 | 137 | zmodload zsh/complist 138 | 139 | ################################################ 140 | # 141 | # Enable color support of ls 142 | # 143 | if [[ "$TERM" != "dumb" ]]; then 144 | if [[ -x $(which dircolors) ]]; then 145 | eval $(dircolors -b) 146 | alias 'ls=ls --color=auto' 147 | fi 148 | fi 149 | 150 | ################################################ 151 | # 152 | # Use colored output 153 | # 154 | autoload -U colors && colors 155 | alias grep="grep --color=auto" 156 | 157 | ################################################ 158 | # 159 | # Source zsh-syntax-highlighting.zsh, zsh-history-substring-search.zsh, 160 | # fizsh-miscellaneous.zsh and fizshrc 161 | # 162 | source $_fizsh_F_DOT_DIR/zsh-syntax-highlighting.zsh 163 | source $_fizsh_F_DOT_DIR/zsh-history-substring-search.zsh 164 | source $_fizsh_F_DOT_DIR/fizsh-miscellaneous.zsh 165 | 166 | ################################################ 167 | # 168 | # source $_fizsh_F_DOT_DIR/fizsh-prompt # would be nice as well. However, 169 | # for some reason sourcing the prompt as a function from a file 170 | # does not work properly: after a while the prompt gets out of sync 171 | # the same thing seems to happen when we use the precmd function 172 | # to echo the prompt. A bug in ZSH!? Anyway, for this reason 173 | # source $_fizsh_F_DOT_DIR/fizsh-prompt.zsh has been commented out. 174 | # 175 | #source $_fizsh_F_DOT_DIR/fizsh-prompt.zsh 176 | source $_fizsh_F_DOT_DIR/.fizshrc 177 | 178 | ################################################ 179 | # 180 | # Turn zsh into a alias so that we can call zsh without implicitly calling 181 | # fizsh. 182 | # 183 | [[ $+_fizsh_F_OLD_ZDOTDIR -eq 1 ]] && alias zsh="ZDOTDIR=$_fizsh_F_OLD_ZDOTDIR $(whence -p zsh)" 184 | [[ $+_fizsh_F_OLD_ZDOTDIR -eq 0 ]] && alias zsh="ZDOTDIR=$HOME $(whence -p zsh)" 185 | -------------------------------------------------------------------------------- /scripts/line-highlighter.zsh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env zsh 2 | # ------------------------------------------------------------------------------------------------- 3 | # Copyright (c) 2010-2011 zsh-syntax-highlighting contributors 4 | # All rights reserved. 5 | # 6 | # Redistribution and use in source and binary forms, with or without modification, are permitted 7 | # provided that the following conditions are met: 8 | # 9 | # * Redistributions of source code must retain the above copyright notice, this list of conditions 10 | # and the following disclaimer. 11 | # * Redistributions in binary form must reproduce the above copyright notice, this list of 12 | # conditions and the following disclaimer in the documentation and/or other materials provided 13 | # with the distribution. 14 | # * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors 15 | # may be used to endorse or promote products derived from this software without specific prior 16 | # written permission. 17 | # 18 | # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR 19 | # IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND 20 | # FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR 21 | # CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 22 | # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 23 | # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER 24 | # IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT 25 | # OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 26 | # ------------------------------------------------------------------------------------------------- 27 | # -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- 28 | # vim: ft=zsh sw=2 ts=2 et 29 | # ------------------------------------------------------------------------------------------------- 30 | 31 | 32 | # Define default styles. 33 | : ${ZSH_HIGHLIGHT_STYLES[line]:=} 34 | 35 | # Whether the root highlighter should be called or not. 36 | _zsh_highlight_highlighter_line_predicate() 37 | { 38 | _zsh_highlight_buffer_modified 39 | } 40 | 41 | # root highlighting function. 42 | _zsh_highlight_highlighter_line_paint() 43 | { 44 | _zsh_highlight_add_highlight 0 $#BUFFER line 45 | } 46 | -------------------------------------------------------------------------------- /scripts/modify-etc-shells.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | # ------------------------------------------------------------------------------------------------- 3 | # Copyright (c) 2011 - 2017 Guido van Steen 4 | # All rights reserved. 5 | # 6 | # Redistribution and use in source and binary forms, with or without modification, are permitted 7 | # provided that the following conditions are met: 8 | # 9 | # * Redistributions of source code must retain the above copyright notice, this list of conditions 10 | # and the following disclaimer. 11 | # * Redistributions in binary form must reproduce the above copyright notice, this list of 12 | # conditions and the following disclaimer in the documentation and/or other materials provided 13 | # with the distribution. 14 | # * Neither the name of the FIZSH nor the names of its contributors may be used to endorse or 15 | # promote products derived from this software without specific prior written permission. 16 | # 17 | # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR 18 | # IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND 19 | # FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR 20 | # CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 21 | # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 22 | # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER 23 | # IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT 24 | # OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 25 | # ------------------------------------------------------------------------------------------------- 26 | # -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- 27 | # vim: ft=zsh sw=2 ts=2 et 28 | # 29 | # modify-etc-shells.sh 30 | 31 | _fizsh_uid=$(id -u) 32 | 33 | _fizsh_etc_shells="/etc/shells" 34 | _fizsh_temp_shells="/etc/shells.tmp" 35 | _fizsh_in_etc_shells=$(cat $_fizsh_etc_shells | grep ^"$2"$) 36 | 37 | if [ $_fizsh_uid -eq 0 ]; then # fizsh can only be manipulated by $uid 0 38 | if [ $1 = "--add" ]; then 39 | if [ "X"$_fizsh_in_etc_shells = "X" ]; then 40 | cp $_fizsh_etc_shells $_fizsh_temp_shells 41 | echo $2 >> $_fizsh_temp_shells 42 | mv $_fizsh_temp_shells $_fizsh_etc_shells 43 | fi 44 | fi 45 | if [ $1 = "--remove" ]; then 46 | if [ ! "X"$_fizsh_in_etc_shells = "X" ]; then 47 | cat $_fizsh_etc_shells | grep -v ^"$2"$ > $_fizsh_temp_shells 48 | mv $_fizsh_temp_shells $_fizsh_etc_shells 49 | fi 50 | fi 51 | fi 52 | -------------------------------------------------------------------------------- /scripts/pattern-highlighter.zsh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env zsh 2 | # ------------------------------------------------------------------------------------------------- 3 | # Copyright (c) 2010-2011 zsh-syntax-highlighting contributors 4 | # All rights reserved. 5 | # 6 | # Redistribution and use in source and binary forms, with or without modification, are permitted 7 | # provided that the following conditions are met: 8 | # 9 | # * Redistributions of source code must retain the above copyright notice, this list of conditions 10 | # and the following disclaimer. 11 | # * Redistributions in binary form must reproduce the above copyright notice, this list of 12 | # conditions and the following disclaimer in the documentation and/or other materials provided 13 | # with the distribution. 14 | # * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors 15 | # may be used to endorse or promote products derived from this software without specific prior 16 | # written permission. 17 | # 18 | # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR 19 | # IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND 20 | # FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR 21 | # CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 22 | # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 23 | # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER 24 | # IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT 25 | # OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 26 | # ------------------------------------------------------------------------------------------------- 27 | # -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- 28 | # vim: ft=zsh sw=2 ts=2 et 29 | # ------------------------------------------------------------------------------------------------- 30 | 31 | 32 | # List of keyword and color pairs. 33 | typeset -gA ZSH_HIGHLIGHT_PATTERNS 34 | 35 | # Whether the pattern highlighter should be called or not. 36 | _zsh_highlight_highlighter_pattern_predicate() 37 | { 38 | _zsh_highlight_buffer_modified 39 | } 40 | 41 | # Pattern syntax highlighting function. 42 | _zsh_highlight_highlighter_pattern_paint() 43 | { 44 | setopt localoptions extendedglob 45 | local pattern 46 | for pattern in ${(k)ZSH_HIGHLIGHT_PATTERNS}; do 47 | _zsh_highlight_pattern_highlighter_loop "$BUFFER" "$pattern" 48 | done 49 | } 50 | 51 | _zsh_highlight_pattern_highlighter_loop() 52 | { 53 | # This does *not* do its job syntactically, sorry. 54 | local buf="$1" pat="$2" 55 | local -a match mbegin mend 56 | local MATCH; integer MBEGIN MEND 57 | if [[ "$buf" == (#b)(*)(${~pat})* ]]; then 58 | region_highlight+=("$((mbegin[2] - 1)) $mend[2] $ZSH_HIGHLIGHT_PATTERNS[$pat]") 59 | "$0" "$match[1]" "$pat"; return $? 60 | fi 61 | } 62 | -------------------------------------------------------------------------------- /scripts/root-highlighter.zsh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env zsh 2 | # ------------------------------------------------------------------------------------------------- 3 | # Copyright (c) 2010-2011 zsh-syntax-highlighting contributors 4 | # All rights reserved. 5 | # 6 | # Redistribution and use in source and binary forms, with or without modification, are permitted 7 | # provided that the following conditions are met: 8 | # 9 | # * Redistributions of source code must retain the above copyright notice, this list of conditions 10 | # and the following disclaimer. 11 | # * Redistributions in binary form must reproduce the above copyright notice, this list of 12 | # conditions and the following disclaimer in the documentation and/or other materials provided 13 | # with the distribution. 14 | # * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors 15 | # may be used to endorse or promote products derived from this software without specific prior 16 | # written permission. 17 | # 18 | # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR 19 | # IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND 20 | # FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR 21 | # CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 22 | # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 23 | # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER 24 | # IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT 25 | # OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 26 | # ------------------------------------------------------------------------------------------------- 27 | # -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- 28 | # vim: ft=zsh sw=2 ts=2 et 29 | # ------------------------------------------------------------------------------------------------- 30 | 31 | 32 | # Define default styles. 33 | : ${ZSH_HIGHLIGHT_STYLES[root]:=standout} 34 | 35 | # Whether the root highlighter should be called or not. 36 | _zsh_highlight_highlighter_root_predicate() 37 | { 38 | _zsh_highlight_buffer_modified 39 | } 40 | 41 | # root highlighting function. 42 | _zsh_highlight_highlighter_root_paint() 43 | { 44 | if (( EUID == 0 )) { _zsh_highlight_add_highlight 0 $#BUFFER root } 45 | } 46 | -------------------------------------------------------------------------------- /scripts/zsh-syntax-highlighting.zsh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env zsh 2 | # ------------------------------------------------------------------------------------------------- 3 | # Copyright (c) 2010-2016 zsh-syntax-highlighting contributors 4 | # All rights reserved. 5 | # 6 | # Redistribution and use in source and binary forms, with or without modification, are permitted 7 | # provided that the following conditions are met: 8 | # 9 | # * Redistributions of source code must retain the above copyright notice, this list of conditions 10 | # and the following disclaimer. 11 | # * Redistributions in binary form must reproduce the above copyright notice, this list of 12 | # conditions and the following disclaimer in the documentation and/or other materials provided 13 | # with the distribution. 14 | # * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors 15 | # may be used to endorse or promote products derived from this software without specific prior 16 | # written permission. 17 | # 18 | # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR 19 | # IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND 20 | # FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR 21 | # CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 22 | # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 23 | # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER 24 | # IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT 25 | # OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 26 | # ------------------------------------------------------------------------------------------------- 27 | # -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- 28 | # vim: ft=zsh sw=2 ts=2 et 29 | # ------------------------------------------------------------------------------------------------- 30 | 31 | # First of all, ensure predictable parsing. 32 | zsh_highlight__aliases=`builtin alias -Lm '[^+]*'` 33 | # In zsh <= 5.2, `alias -L` emits aliases that begin with a plus sign ('alias -- +foo=42') 34 | # them without a '--' guard, so they don't round trip. 35 | # 36 | # Hence, we exclude them from unaliasing: 37 | builtin unalias -m '[^+]*' 38 | 39 | # Set $0 to the expected value, regardless of functionargzero. 40 | 0=${(%):-%N} 41 | if true; then 42 | # $0 is reliable 43 | typeset -g ZSH_HIGHLIGHT_VERSION=$(<"${0:A:h}"/.version) 44 | typeset -g ZSH_HIGHLIGHT_REVISION=$(<"${0:A:h}"/.revision-hash) 45 | if [[ $ZSH_HIGHLIGHT_REVISION == \$Format:* ]]; then 46 | # When running from a source tree without 'make install', $ZSH_HIGHLIGHT_REVISION 47 | # would be set to '$Format:%H$' literally. That's an invalid value, and obtaining 48 | # the valid value (via `git rev-parse HEAD`, as Makefile does) might be costly, so: 49 | ZSH_HIGHLIGHT_REVISION=HEAD 50 | fi 51 | fi 52 | 53 | # ------------------------------------------------------------------------------------------------- 54 | # Core highlighting update system 55 | # ------------------------------------------------------------------------------------------------- 56 | 57 | # Use workaround for bug in ZSH? 58 | # zsh-users/zsh@48cadf4 http://www.zsh.org/mla/workers//2017/msg00034.html 59 | autoload -U is-at-least 60 | if is-at-least 5.4; then 61 | zsh_highlight__pat_static_bug=false 62 | else 63 | zsh_highlight__pat_static_bug=true 64 | fi 65 | 66 | # Array declaring active highlighters names. 67 | typeset -ga ZSH_HIGHLIGHT_HIGHLIGHTERS 68 | 69 | # Update ZLE buffer syntax highlighting. 70 | # 71 | # Invokes each highlighter that needs updating. 72 | # This function is supposed to be called whenever the ZLE state changes. 73 | _zsh_highlight() 74 | { 75 | # Store the previous command return code to restore it whatever happens. 76 | local ret=$? 77 | 78 | # Remove all highlighting in isearch, so that only the underlining done by zsh itself remains. 79 | # For details see FAQ entry 'Why does syntax highlighting not work while searching history?'. 80 | # This disables highlighting during isearch (for reasons explained in README.md) unless zsh is new enough 81 | # and doesn't have the pattern matching bug 82 | if [[ $WIDGET == zle-isearch-update ]] && { $zsh_highlight__pat_static_bug || ! (( $+ISEARCHMATCH_ACTIVE )) }; then 83 | region_highlight=() 84 | return $ret 85 | fi 86 | 87 | setopt localoptions warncreateglobal 88 | setopt localoptions noksharrays 89 | local REPLY # don't leak $REPLY into global scope 90 | 91 | # Do not highlight if there are more than 300 chars in the buffer. It's most 92 | # likely a pasted command or a huge list of files in that case.. 93 | [[ -n ${ZSH_HIGHLIGHT_MAXLENGTH:-} ]] && [[ $#BUFFER -gt $ZSH_HIGHLIGHT_MAXLENGTH ]] && return $ret 94 | 95 | # Do not highlight if there are pending inputs (copy/paste). 96 | [[ $PENDING -gt 0 ]] && return $ret 97 | 98 | # Reset region highlight to build it from scratch 99 | typeset -ga region_highlight 100 | region_highlight=(); 101 | 102 | { 103 | local cache_place 104 | local -a region_highlight_copy 105 | 106 | # Select which highlighters in ZSH_HIGHLIGHT_HIGHLIGHTERS need to be invoked. 107 | local highlighter; for highlighter in $ZSH_HIGHLIGHT_HIGHLIGHTERS; do 108 | 109 | # eval cache place for current highlighter and prepare it 110 | cache_place="_zsh_highlight__highlighter_${highlighter}_cache" 111 | typeset -ga ${cache_place} 112 | 113 | # If highlighter needs to be invoked 114 | if ! type "_zsh_highlight_highlighter_${highlighter}_predicate" >&/dev/null; then 115 | echo "zsh-syntax-highlighting: warning: disabling the ${(qq)highlighter} highlighter as it has not been loaded" >&2 116 | # TODO: use ${(b)} rather than ${(q)} if supported 117 | ZSH_HIGHLIGHT_HIGHLIGHTERS=( ${ZSH_HIGHLIGHT_HIGHLIGHTERS:#${highlighter}} ) 118 | elif "_zsh_highlight_highlighter_${highlighter}_predicate"; then 119 | 120 | # save a copy, and cleanup region_highlight 121 | region_highlight_copy=("${region_highlight[@]}") 122 | region_highlight=() 123 | 124 | # Execute highlighter and save result 125 | { 126 | "_zsh_highlight_highlighter_${highlighter}_paint" 127 | } always { 128 | eval "${cache_place}=(\"\${region_highlight[@]}\")" 129 | } 130 | 131 | # Restore saved region_highlight 132 | region_highlight=("${region_highlight_copy[@]}") 133 | 134 | fi 135 | 136 | # Use value form cache if any cached 137 | eval "region_highlight+=(\"\${${cache_place}[@]}\")" 138 | 139 | done 140 | 141 | # Re-apply zle_highlight settings 142 | 143 | # region 144 | if (( REGION_ACTIVE == 1 )); then 145 | _zsh_highlight_apply_zle_highlight region standout "$MARK" "$CURSOR" 146 | elif (( REGION_ACTIVE == 2 )); then 147 | () { 148 | local needle=$'\n' 149 | integer min max 150 | if (( MARK > CURSOR )) ; then 151 | min=$CURSOR max=$MARK 152 | else 153 | min=$MARK max=$CURSOR 154 | fi 155 | (( min = ${${BUFFER[1,$min]}[(I)$needle]} )) 156 | (( max += ${${BUFFER:($max-1)}[(i)$needle]} - 1 )) 157 | _zsh_highlight_apply_zle_highlight region standout "$min" "$max" 158 | } 159 | fi 160 | 161 | # yank / paste (zsh-5.1.1 and newer) 162 | (( $+YANK_ACTIVE )) && (( YANK_ACTIVE )) && _zsh_highlight_apply_zle_highlight paste standout "$YANK_START" "$YANK_END" 163 | 164 | # isearch 165 | (( $+ISEARCHMATCH_ACTIVE )) && (( ISEARCHMATCH_ACTIVE )) && _zsh_highlight_apply_zle_highlight isearch underline "$ISEARCHMATCH_START" "$ISEARCHMATCH_END" 166 | 167 | # suffix 168 | (( $+SUFFIX_ACTIVE )) && (( SUFFIX_ACTIVE )) && _zsh_highlight_apply_zle_highlight suffix bold "$SUFFIX_START" "$SUFFIX_END" 169 | 170 | 171 | return $ret 172 | 173 | 174 | } always { 175 | typeset -g _ZSH_HIGHLIGHT_PRIOR_BUFFER="$BUFFER" 176 | typeset -gi _ZSH_HIGHLIGHT_PRIOR_CURSOR=$CURSOR 177 | } 178 | } 179 | 180 | # Apply highlighting based on entries in the zle_highlight array. 181 | # This function takes four arguments: 182 | # 1. The exact entry (no patterns) in the zle_highlight array: 183 | # region, paste, isearch, or suffix 184 | # 2. The default highlighting that should be applied if the entry is unset 185 | # 3. and 4. Two integer values describing the beginning and end of the 186 | # range. The order does not matter. 187 | _zsh_highlight_apply_zle_highlight() { 188 | local entry="$1" default="$2" 189 | integer first="$3" second="$4" 190 | 191 | # read the relevant entry from zle_highlight 192 | local region="${zle_highlight[(r)${entry}:*]}" 193 | 194 | if [[ -z "$region" ]]; then 195 | # entry not specified at all, use default value 196 | region=$default 197 | else 198 | # strip prefix 199 | region="${region#${entry}:}" 200 | 201 | # no highlighting when set to the empty string or to 'none' 202 | if [[ -z "$region" ]] || [[ "$region" == none ]]; then 203 | return 204 | fi 205 | fi 206 | 207 | integer start end 208 | if (( first < second )); then 209 | start=$first end=$second 210 | else 211 | start=$second end=$first 212 | fi 213 | region_highlight+=("$start $end $region") 214 | } 215 | 216 | 217 | # ------------------------------------------------------------------------------------------------- 218 | # API/utility functions for highlighters 219 | # ------------------------------------------------------------------------------------------------- 220 | 221 | # Array used by highlighters to declare user overridable styles. 222 | typeset -gA ZSH_HIGHLIGHT_STYLES 223 | 224 | # Whether the command line buffer has been modified or not. 225 | # 226 | # Returns 0 if the buffer has changed since _zsh_highlight was last called. 227 | _zsh_highlight_buffer_modified() 228 | { 229 | [[ "${_ZSH_HIGHLIGHT_PRIOR_BUFFER:-}" != "$BUFFER" ]] 230 | } 231 | 232 | # Whether the cursor has moved or not. 233 | # 234 | # Returns 0 if the cursor has moved since _zsh_highlight was last called. 235 | _zsh_highlight_cursor_moved() 236 | { 237 | [[ -n $CURSOR ]] && [[ -n ${_ZSH_HIGHLIGHT_PRIOR_CURSOR-} ]] && (($_ZSH_HIGHLIGHT_PRIOR_CURSOR != $CURSOR)) 238 | } 239 | 240 | # Add a highlight defined by ZSH_HIGHLIGHT_STYLES. 241 | # 242 | # Should be used by all highlighters aside from 'pattern' (cf. ZSH_HIGHLIGHT_PATTERN). 243 | # Overwritten in tests/test-highlighting.zsh when testing. 244 | _zsh_highlight_add_highlight() 245 | { 246 | local -i start end 247 | local highlight 248 | start=$1 249 | end=$2 250 | shift 2 251 | for highlight; do 252 | if (( $+ZSH_HIGHLIGHT_STYLES[$highlight] )); then 253 | region_highlight+=("$start $end $ZSH_HIGHLIGHT_STYLES[$highlight]") 254 | break 255 | fi 256 | done 257 | } 258 | 259 | # ------------------------------------------------------------------------------------------------- 260 | # Setup functions 261 | # ------------------------------------------------------------------------------------------------- 262 | 263 | # Helper for _zsh_highlight_bind_widgets 264 | # $1 is name of widget to call 265 | _zsh_highlight_call_widget() 266 | { 267 | builtin zle "$@" && 268 | _zsh_highlight 269 | } 270 | 271 | # Rebind all ZLE widgets to make them invoke _zsh_highlights. 272 | _zsh_highlight_bind_widgets() 273 | { 274 | setopt localoptions noksharrays 275 | typeset -F SECONDS 276 | local prefix=orig-s$SECONDS-r$RANDOM # unique each time, in case we're sourced more than once 277 | 278 | # Load ZSH module zsh/zleparameter, needed to override user defined widgets. 279 | zmodload zsh/zleparameter 2>/dev/null || { 280 | print -r -- >&2 'zsh-syntax-highlighting: failed loading zsh/zleparameter.' 281 | return 1 282 | } 283 | 284 | # Override ZLE widgets to make them invoke _zsh_highlight. 285 | local -U widgets_to_bind 286 | widgets_to_bind=(${${(k)widgets}:#(.*|run-help|which-command|beep|set-local-history|yank)}) 287 | 288 | # Always wrap special zle-line-finish widget. This is needed to decide if the 289 | # current line ends and special highlighting logic needs to be applied. 290 | # E.g. remove cursor imprint, don't highlight partial paths, ... 291 | widgets_to_bind+=(zle-line-finish) 292 | 293 | # Always wrap special zle-isearch-update widget to be notified of updates in isearch. 294 | # This is needed because we need to disable highlighting in that case. 295 | widgets_to_bind+=(zle-isearch-update) 296 | 297 | local cur_widget 298 | for cur_widget in $widgets_to_bind; do 299 | case $widgets[$cur_widget] in 300 | 301 | # Already rebound event: do nothing. 302 | user:_zsh_highlight_widget_*);; 303 | 304 | # The "eval"'s are required to make $cur_widget a closure: the value of the parameter at function 305 | # definition time is used. 306 | # 307 | # We can't use ${0/_zsh_highlight_widget_} because these widgets are always invoked with 308 | # NO_function_argzero, regardless of the option's setting here. 309 | 310 | # User defined widget: override and rebind old one with prefix "orig-". 311 | user:*) zle -N $prefix-$cur_widget ${widgets[$cur_widget]#*:} 312 | eval "_zsh_highlight_widget_${(q)prefix}-${(q)cur_widget}() { _zsh_highlight_call_widget ${(q)prefix}-${(q)cur_widget} -- \"\$@\" }" 313 | zle -N $cur_widget _zsh_highlight_widget_$prefix-$cur_widget;; 314 | 315 | # Completion widget: override and rebind old one with prefix "orig-". 316 | completion:*) zle -C $prefix-$cur_widget ${${(s.:.)widgets[$cur_widget]}[2,3]} 317 | eval "_zsh_highlight_widget_${(q)prefix}-${(q)cur_widget}() { _zsh_highlight_call_widget ${(q)prefix}-${(q)cur_widget} -- \"\$@\" }" 318 | zle -N $cur_widget _zsh_highlight_widget_$prefix-$cur_widget;; 319 | 320 | # Builtin widget: override and make it call the builtin ".widget". 321 | builtin) eval "_zsh_highlight_widget_${(q)prefix}-${(q)cur_widget}() { _zsh_highlight_call_widget .${(q)cur_widget} -- \"\$@\" }" 322 | zle -N $cur_widget _zsh_highlight_widget_$prefix-$cur_widget;; 323 | 324 | # Incomplete or nonexistent widget: Bind to z-sy-h directly. 325 | *) 326 | if [[ $cur_widget == zle-* ]] && [[ -z $widgets[$cur_widget] ]]; then 327 | _zsh_highlight_widget_${cur_widget}() { :; _zsh_highlight } 328 | zle -N $cur_widget _zsh_highlight_widget_$cur_widget 329 | else 330 | # Default: unhandled case. 331 | print -r -- >&2 "zsh-syntax-highlighting: unhandled ZLE widget ${(qq)cur_widget}" 332 | print -r -- >&2 "zsh-syntax-highlighting: (This is sometimes caused by doing \`bindkey ${(q-)cur_widget}\` without creating the ${(qq)cur_widget} widget with \`zle -N\` or \`zle -C\`.)" 333 | fi 334 | esac 335 | done 336 | } 337 | 338 | # Load highlighters from directory. 339 | # 340 | # Arguments: 341 | # 1) Path to the highlighters directory. 342 | _zsh_highlight_load_highlighters() 343 | { 344 | setopt localoptions noksharrays 345 | 346 | # Check the directory exists. 347 | [[ -d "$1" ]] || { 348 | print -r -- >&2 "zsh-syntax-highlighting: highlighters directory ${(qq)1} not found." 349 | return 1 350 | } 351 | 352 | # Load highlighters from highlighters directory and check they define required functions. 353 | local highlighter highlighter_dir 354 | for highlighter_dir ($1/*/); do 355 | highlighter="${highlighter_dir:t}" 356 | [[ -f "$highlighter_dir${highlighter}-highlighter.zsh" ]] && 357 | . "$highlighter_dir${highlighter}-highlighter.zsh" 358 | if type "_zsh_highlight_highlighter_${highlighter}_paint" &> /dev/null && 359 | type "_zsh_highlight_highlighter_${highlighter}_predicate" &> /dev/null; 360 | then 361 | # New (0.5.0) function names 362 | elif type "_zsh_highlight_${highlighter}_highlighter" &> /dev/null && 363 | type "_zsh_highlight_${highlighter}_highlighter_predicate" &> /dev/null; 364 | then 365 | # Old (0.4.x) function names 366 | if false; then 367 | # TODO: only show this warning for plugin authors/maintainers, not for end users 368 | print -r -- >&2 "zsh-syntax-highlighting: warning: ${(qq)highlighter} highlighter uses deprecated entry point names; please ask its maintainer to update it: https://github.com/zsh-users/zsh-syntax-highlighting/issues/329" 369 | fi 370 | # Make it work. 371 | eval "_zsh_highlight_highlighter_${(q)highlighter}_paint() { _zsh_highlight_${(q)highlighter}_highlighter \"\$@\" }" 372 | eval "_zsh_highlight_highlighter_${(q)highlighter}_predicate() { _zsh_highlight_${(q)highlighter}_highlighter_predicate \"\$@\" }" 373 | else 374 | print -r -- >&2 "zsh-syntax-highlighting: ${(qq)highlighter} highlighter should define both required functions '_zsh_highlight_highlighter_${highlighter}_paint' and '_zsh_highlight_highlighter_${highlighter}_predicate' in ${(qq):-"$highlighter_dir${highlighter}-highlighter.zsh"}." 375 | fi 376 | done 377 | } 378 | 379 | 380 | # ------------------------------------------------------------------------------------------------- 381 | # Setup 382 | # ------------------------------------------------------------------------------------------------- 383 | 384 | # Try binding widgets. 385 | _zsh_highlight_bind_widgets || { 386 | print -r -- >&2 'zsh-syntax-highlighting: failed binding ZLE widgets, exiting.' 387 | return 1 388 | } 389 | 390 | # Resolve highlighters directory location. 391 | _zsh_highlight_load_highlighters "${ZSH_HIGHLIGHT_HIGHLIGHTERS_DIR:-${${0:A}:h}/highlighters}" || { 392 | print -r -- >&2 'zsh-syntax-highlighting: failed loading highlighters, exiting.' 393 | return 1 394 | } 395 | 396 | # Reset scratch variables when commandline is done. 397 | _zsh_highlight_preexec_hook() 398 | { 399 | typeset -g _ZSH_HIGHLIGHT_PRIOR_BUFFER= 400 | typeset -gi _ZSH_HIGHLIGHT_PRIOR_CURSOR= 401 | } 402 | autoload -U add-zsh-hook 403 | add-zsh-hook preexec _zsh_highlight_preexec_hook 2>/dev/null || { 404 | print -r -- >&2 'zsh-syntax-highlighting: failed loading add-zsh-hook.' 405 | } 406 | 407 | # Load zsh/parameter module if available 408 | zmodload zsh/parameter 2>/dev/null || true 409 | 410 | # Initialize the array of active highlighters if needed. 411 | [[ $#ZSH_HIGHLIGHT_HIGHLIGHTERS -eq 0 ]] && ZSH_HIGHLIGHT_HIGHLIGHTERS=(main) 412 | 413 | # Restore the aliases we unned 414 | eval "$zsh_highlight__aliases" 415 | builtin unset zsh_highlight__aliases 416 | 417 | # Set $?. 418 | true 419 | --------------------------------------------------------------------------------