CHANGELOG (5110B)
1 2 <details><summary><h3 style="display: inline;">CHANGELOG</h3></summary> 3 4 **v2.4.1** 5 6 - bugfix 7 8 **v2.4.0** 9 10 - added shorthand commands names 11 - added 'link, ln' command 12 - updated man 13 - fix to valid command names 14 15 **v2.3.1** 16 17 - Bugfix 18 19 **v2.3.0** 20 21 - Added aliases for all commands: 22 - install, in 23 - edit, ed 24 - list, ls 25 - remove, rm 26 - update, up 27 - Updated README 28 29 **v2.2.2** 30 31 - Bugfix when a blank line is found in the installed.csv file 32 - Bugfix when the installed.csv directory does not exist on first run 33 - Bugfix to behaviour when installing a dotfile source path that matches it's destination path 34 - Bugfix when using `~` in the path of a prompted install location 35 36 **v2.2.1** 37 38 - minor fix to _Makefile#link_ 39 40 **v2.2.0** 41 42 - total refactored on most of the code to tidyup some mess that'd been in for a while 43 - logging is more consistent 44 - no more duplicates in the installed.csv file 45 - overall behaviour is more consistent and tidy 46 - added sfeed to known dotfiles 47 - added txtnish to known dotfiles 48 - added '-s', '--skip' option, which will skip any prompts and use pre-defined defaults if available 49 - user is now prompted for a dotfile location even if dotfm knows it (found myself wanting to use install init.vim as ~/.vimrc), the pre-defined location is used as a default 50 51 --- 52 53 **v2.1.2** 54 55 - added `-p` to mkdir calls in Makefile to avoid failure when path exists 56 - tidied up logging 57 - bugfix when returned input prompt value is empty 58 59 --- 60 61 **v2.1.1** 62 63 - updated the CHANGELOG 64 - `dotfm remove` now calls `rm -iv` (previously `rm -v`), to be safe(r). 65 66 --- 67 68 **v2.1.0** 69 70 - added the `dotfm update` command for updating a dotfile's source location 71 72 --- 73 74 **v2.0.5** 75 76 - added banner.svg 77 78 --- 79 80 **v2.0.4** 81 82 - updated the README & man file 83 - formatting fixed in the README 84 85 --- 86 87 **v2.0.3** 88 89 - compressed logo.png 90 91 --- 92 93 **v2.0.2** 94 95 - updated LICENSE to ISC 96 - added awesome logo from [Marta Dias](https://www.instagram.com/marta.dias.z/) 97 - minor fix in Makefile 98 99 --- 100 101 **v2.0.1** 102 103 - updated the "list" command to use unix system commands: printf, cat, column. Provides a neater, more reliable printout and makes the implementation tidier. 104 - DOTFM CSV FILE lines are now terminated with '\n' (previously '\r\n') 105 - Install & Uninstall (with Makefile) will now prompt for overwriting & removing files 106 107 --- 108 109 **v2.0.0** 110 111 - The quiet arg works properly now 112 - Added code comment header documenting the dotfm functions 113 - Now the DOTFILE arg can specify multiple dotfiles 114 - updated the README 115 - added a manpage (src/dotfm.1), which is installed with dotfm in the Makefile 116 117 _DOTFM CSV FILE_ 118 119 dotfm now tracks dotfiles that it installs symlinks for in a file. This file is currently stored at _~/.local/dotfm/installed.csv_. The file has the following structure: 120 121 <location>,<alias>,<alias>,.... 122 123 **location** is the location dotfm installed the dotfile to (the symlink pointing to the source dotfile). 124 125 **alias** these are strings that dotfm uses to recognise the related dotfile (e.g. you could use "brc" as an alias for your bashrc and call "dotfm edit brc") 126 127 _KNOWN DOTFILES_ 128 129 _DOTFILE LOCATIONS_ has been refactored into _KNOWN DOTFILES_, it follows the same structure as the DOTFM CSV FILE (see above). 130 131 The purpose of this array is now to act as a knowledge base for all the location to install dotfiles to and any names that they sohuld be recognised under that dotfm recognises. 132 133 If a dotfile is within this array, dotfm will know where to install the relevant dotfile automatically and allow you to call it with the preset aliases. Don't be scared to modify this array to modify this to your hearts content. 134 135 If a dotfile is not present within this array then you'll be prompted for the install location of the dotfile and any aliases you want to allow dotfm to recognise it under. 136 This won't be added to KNOWN DOTFILES, but _will_ be appended to DOTFM CSV FILE. 137 138 _dotfm init_ 139 140 This is a function that runs at the start of every runtime, it checks if the _DOTFM CSV FILE_ is present: 141 If it is, it's contents are loaded into memory; 142 If it isn't, then the user is prompted where they would like to create it and the file is created with itself as the first entry. 143 144 _dotfm install_ 145 146 Now if a dotfile is not recognsied in the KNOWN\_DOTFILES array, the user will be prompted asking where to install it to and what aliases to recognise it under. 147 148 Multiple dotfiles can be passed to _dotfm install_, e.g. 149 150 dotfm install ./bashrc ./profile ./tmux.conf 151 152 _dotfm remove_ 153 154 dotfm remove will now also remove the file from the _DOTFM CSV FILE_ 155 156 _dotfm list_ 157 158 Minor changes to dotfm list printout format. Will also print even if running in quiet mode. 159 160 dotfm list now **lists all installed dotfiles by default**, and only lists specifc dotfiles if specified. 161 162 --- 163 164 **v1.0.3** 165 166 - added "-q", "--quiet" argument, using it reduces printed logs 167 "dotfm list" will still print the file location (one line each), e.g.: 168 169 /home/gearsix/.bashrc 170 /home/gearsix/.profile 171 /home/gearsix/.bash\_profile 172 ... 173 174 - added CHANGELOG 175 - updated LICENSE to BSD 4-Clause 176 - added sfeed to DOTFILE\_LOCATIONS 177 - added TODO items 178 179 </details>