mirror of
				https://github.com/ohmyzsh/ohmyzsh.git
				synced 2024-05-11 05:55:17 +00:00 
			
		
		
		
	fastfile: add README
This commit is contained in:
		
							
								
								
									
										84
									
								
								plugins/fastfile/README.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										84
									
								
								plugins/fastfile/README.md
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,84 @@ | |||||||
|  | # Fastfile plugin | ||||||
|  |  | ||||||
|  | This plugin adds a way to reference certain files or folders used frequently using | ||||||
|  | a global alias or shortcut. | ||||||
|  |  | ||||||
|  | To use it, add `fastfile` to the plugins array in your zshrc file: | ||||||
|  | ```zsh | ||||||
|  | plugins=(... fastfile) | ||||||
|  | ``` | ||||||
|  |  | ||||||
|  | ## Usage | ||||||
|  |  | ||||||
|  | Example: you access folder `/code/project/backend/database` very frequently. | ||||||
|  |  | ||||||
|  | First, generate a shortcut with the name `pjdb`: | ||||||
|  | ```zsh | ||||||
|  | $ fastfile pjdb /code/project/backend/database | ||||||
|  | ``` | ||||||
|  |  | ||||||
|  | Next time you want to access it, use `§pjdb`. For example: | ||||||
|  | ```zsh | ||||||
|  | $ cd §pjdb | ||||||
|  | $ subl §pjdb | ||||||
|  | ``` | ||||||
|  | where § is the fastfile prefix (see [below](#options) for how to change). | ||||||
|  |  | ||||||
|  | **Note:** shortcuts with spaces in the name are assigned a global alias | ||||||
|  | where the spaces have been substituted with underscores (`_`). For example: | ||||||
|  | a shortcut named `"hello world"` corresponds with `§hello_world`. | ||||||
|  |  | ||||||
|  |  | ||||||
|  | ## Functions | ||||||
|  |  | ||||||
|  | - `fastfile <shortcut_name> <path/to/file/or/folder>`: generate a shortcut. | ||||||
|  |  | ||||||
|  | - `fastfile_print <shortcut_name>`: prints a shortcut, with the format | ||||||
|  |   `<prefix><shortcut_name> -> <shortcut_path>`. | ||||||
|  |  | ||||||
|  | - `fastfile_ls`: lists all shortcuts. | ||||||
|  |  | ||||||
|  | - `fastfile_rm <shortcut_name> `: remove a shortcut. | ||||||
|  |  | ||||||
|  | - `fastfile_sync`: generates the global aliases for the shortcuts. | ||||||
|  |  | ||||||
|  |  | ||||||
|  | ### Internal functions | ||||||
|  |  | ||||||
|  | - `fastfile_resolv <shortcut_name>`: resolves the location of the shortcut | ||||||
|  |   file, i.e., the file in the fastfile directory where the shortcut path | ||||||
|  |   is stored. | ||||||
|  |  | ||||||
|  | - `fastfile_get <shortcut_name>`: get the real path of the shortcut. | ||||||
|  |  | ||||||
|  |  | ||||||
|  | ## Aliases | ||||||
|  |  | ||||||
|  | | Alias  | Function         | | ||||||
|  | |--------|------------------| | ||||||
|  | | ff     | `fastfile`       | | ||||||
|  | | ffp    | `fastfile_print` | | ||||||
|  | | ffrm   | `fastfile_rm`    | | ||||||
|  | | ffls   | `fastfile_ls`    | | ||||||
|  | | ffsync | `fastfile_sync`  | | ||||||
|  |  | ||||||
|  |  | ||||||
|  | ## Options | ||||||
|  |  | ||||||
|  | These are options you can set to change certain parts of the plugin. To change | ||||||
|  | them, add `<variable>=<value>` to your zshrc file, before Oh My Zsh is sourced. | ||||||
|  | For example: `fastfile_var_prefix='@'`. | ||||||
|  |  | ||||||
|  | - `fastfile_var_prefix`: prefix for the global aliases created. Controls the prefix of the | ||||||
|  |   created global aliases.   | ||||||
|  |   **Default:** `§` (section sign), easy to type in a german keyboard via the combination | ||||||
|  |   [`⇧ Shift`+`3`](https://en.wikipedia.org/wiki/German_keyboard_layout#/media/File:KB_Germany.svg), | ||||||
|  |   or using `⌥ Option`+`6` in macOS. | ||||||
|  |  | ||||||
|  | - `fastfile_dir`: directory where the fastfile shortcuts are stored. Needs to end | ||||||
|  |   with a trailing slash.   | ||||||
|  |   **Default:** `$HOME/.fastfile/`. | ||||||
|  |  | ||||||
|  | ## Author | ||||||
|  |  | ||||||
|  | - [Karolin Varner](https://github.com/koraa) | ||||||
| @@ -1,15 +1,5 @@ | |||||||
| ################################################################################ |  | ||||||
| #          FILE:  fastfile.plugin.zsh |  | ||||||
| #   DESCRIPTION:  oh-my-zsh plugin file. |  | ||||||
| #        AUTHOR:  Michael Varner (musikmichael@web.de) |  | ||||||
| #       VERSION:  1.0.0 |  | ||||||
| # |  | ||||||
| # This plugin adds the ability to on the fly generate and access file shortcuts. |  | ||||||
| # |  | ||||||
| ################################################################################ |  | ||||||
|  |  | ||||||
| ########################### | ########################### | ||||||
| # Settings  | # Settings | ||||||
|  |  | ||||||
| # These can be overwritten any time. | # These can be overwritten any time. | ||||||
| # If they are not set yet, they will be | # If they are not set yet, they will be | ||||||
| @@ -33,7 +23,7 @@ default fastfile_var_prefix "§" | |||||||
| function fastfile() { | function fastfile() { | ||||||
|     test "$2" || 2="." |     test "$2" || 2="." | ||||||
|     file=$(readlink -f "$2") |     file=$(readlink -f "$2") | ||||||
|      |  | ||||||
|     test "$1" || 1="$(basename "$file")" |     test "$1" || 1="$(basename "$file")" | ||||||
|     name=$(echo "$1" | tr " " "_") |     name=$(echo "$1" | tr " " "_") | ||||||
|  |  | ||||||
| @@ -51,7 +41,7 @@ function fastfile() { | |||||||
| # Arguments: | # Arguments: | ||||||
| #    1. name - The name of the shortcut | #    1. name - The name of the shortcut | ||||||
| # STDOUT: | # STDOUT: | ||||||
| #   The path | #   The path to the shortcut file | ||||||
| # | # | ||||||
| function fastfile_resolv() { | function fastfile_resolv() { | ||||||
|     echo "${fastfile_dir}${1}" |     echo "${fastfile_dir}${1}" | ||||||
| @@ -88,12 +78,12 @@ function fastfile_print() { | |||||||
| #    (=> fastfle_print) for each shortcut | #    (=> fastfle_print) for each shortcut | ||||||
| # | # | ||||||
| function fastfile_ls() { | function fastfile_ls() { | ||||||
|     for f in "${fastfile_dir}"/*; do  |     for f in "${fastfile_dir}"/*; do | ||||||
| 	file=`basename "$f"` # To enable simpler handeling of spaces in file names |         file=`basename "$f"` # To enable simpler handeling of spaces in file names | ||||||
| 	varkey=`echo "$file" | tr " " "_"` |         varkey=`echo "$file" | tr " " "_"` | ||||||
|  |  | ||||||
| 	# Special format for colums |         # Special format for colums | ||||||
| 	echo "${fastfile_var_prefix}${varkey}|->|$(fastfile_get "$file")" |         echo "${fastfile_var_prefix}${varkey}|->|$(fastfile_get "$file")" | ||||||
|     done | column -t -s "|" |     done | column -t -s "|" | ||||||
| } | } | ||||||
|  |  | ||||||
| @@ -102,7 +92,6 @@ function fastfile_ls() { | |||||||
| # | # | ||||||
| # Arguments: | # Arguments: | ||||||
| #    1. name - The name of the shortcut (default: name of the file) | #    1. name - The name of the shortcut (default: name of the file) | ||||||
| #    2. file - The file or directory to make the shortcut for |  | ||||||
| # STDOUT: | # STDOUT: | ||||||
| #    => fastfle_print | #    => fastfle_print | ||||||
| # | # | ||||||
| @@ -115,11 +104,11 @@ function fastfile_rm() { | |||||||
| # Generate the aliases for the shortcuts | # Generate the aliases for the shortcuts | ||||||
| # | # | ||||||
| function fastfile_sync() { | function fastfile_sync() { | ||||||
|     for f in "${fastfile_dir}"/*; do  |     for f in "${fastfile_dir}"/*; do | ||||||
| 	file=`basename "$f"` # To enable simpler handeling of spaces in file names |         file=`basename "$f"` # To enable simpler handeling of spaces in file names | ||||||
| 	varkey=`echo "$file" | tr " " "_"` |         varkey=`echo "$file" | tr " " "_"` | ||||||
|  |  | ||||||
| 	alias -g "${fastfile_var_prefix}${varkey}"="'$(fastfile_get "$file")'" |         alias -g "${fastfile_var_prefix}${varkey}"="'$(fastfile_get "$file")'" | ||||||
|     done |     done | ||||||
| } | } | ||||||
|  |  | ||||||
| @@ -133,6 +122,6 @@ alias ffls=fastfile_ls | |||||||
| alias ffsync=fastfile_sync | alias ffsync=fastfile_sync | ||||||
|  |  | ||||||
| ################################## | ################################## | ||||||
| # Init  | # Init | ||||||
|  |  | ||||||
| fastfile_sync | fastfile_sync | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user