0.1 Initial release 0.2 - More list convenience functions - tlib#EditList() - tlib#InputList(): properly handle duplicate items; it type contains 'i', the list index + 1 is returned, not the element 0.3 - tlib#InputList(): Show feedback in statusline instead of the echo area - tlib#GetVar(), tlib#GetValue() 0.4 - tlib#InputList(): Up/Down keys wrap around list - tlib#InputList(): FIX: Problem when reducing the filter & using AND - tlib#InputList(): Made work (can be configured via - tlib#InputList(): special display_format: "filename" - tlib#Object: experimental support for some kind of OOP - tlib#World: Extracted some functions from tlib.vim to tlib/World.vim - tlib#FileJoin(), tlib#FileSplit(), tlib#RelativeFilename() - tlib#Let() - tlib#EnsureDirectoryExists(dir) - tlib#DirName(dir) - tlib#DecodeURL(url), tlib#EncodeChar(char), tlib#EncodeURL(url) - FIX: Problem when using shift-up/down with filtered lists 0.5 - tlib#InputList(): FIX: Selecting items in filtered view - tlib#InputList(): : Remove last AND pattern from filter 0.6 - tlib#InputList(): Disabled map - tlib#InputList(): try to be smart about user itentions only if a list's length is < g:tlib_sortprefs_threshold (default: 200) - tlib#Object: Super() method - tlib#MyRuntimeDir() - tlib#GetCacheName(), tlib#CacheSave(), tlib#CacheGet() - tlib#Args(), tlib#GetArg() - FIX: tlib#InputList(): Display problem with first item 0.7 - tlib#InputList(): ... Suspend/Resume input - tlib#InputList(): ... Input text on the command line (useful on slow systems when working with very large lists) - tlib#InputList(): AND-pattern starting with '!' will work as 'exclude matches' - tlib#InputList(): FIX pop OR-patterns properly - tlib#InputList(): display_format == filename: don't add '/' to directory names (avoid filesystem access) 0.8 - FIX: Return empty cache name for buffers that have no files attached to it - Some re-arranging 0.9 - Re-arrangements & modularization (this means many function names have changed, on the other hand only those functions are loaded that are actually needed) - tlib#input#List(): Added maps with m-modifiers for , , - tlib#input#List(): Make sure &fdm is manual - tlib#input#List(): When exiting the list view, consume the next 5 characters in the queue (if any) - tlib#input#EditList(): Now has cut, copy, paste functionality. - Added documentation and examples 0.10 - tlib#input#List(): (v)split type of commands leave the original window untouched (you may use to replace its contents) - tlib#file#With(): Check whether an existing buffer is loaded. - Scratch related functions went to tlib/scratch.vim so that they are accessible from other scripts. - Configure the list window height via g:tlib_inputlist_pct (1..100%) 0.11 NEW: - The :TLet command replaces :TLLet (which was removed) - :TScratch[!] command (with ! don't split but use the whole window) - tlib#rx#Escape(text, ?magic='m') - tlib#buffer#GetList(?show_hidden=0) - tlib#dir#CD(), tlib#dir#Push(), tlib#dir#Pop() - tlib#input#ListW: A slightly remodeled version of tlib#input#List that takes a World as second argument. - Added some documentation doc/tlib.txt (most of it is automatically compiled from the source files) CHANGES: - tlib#input#List(): The default keys for AND, NOT have changed to be more Google-like (space, minus); the keys can be configured via global variables. IMPROVEMENTS: - In file listings, indicate if a file is loaded, listed, modified etc. - tlib#input#List(): Highlight the filter pattern - tlib#input#List(): scrolls g:tlib_scroll_lines (default=10) lines FIXES: - tlib#input#List(): Centering line, clear match, clear & restore the search register - tlib#input#List(): Ensure the window layout doesn't change (if the number of windows hasn't changed) - tlib#arg#Ex(): Don't escape backslashes by default 0.12 NEW: - tlib/tab.vim CHANGES: - Renamed tlib#win#SetWin() to tlib#win#Set() IMPROVEMENTS: - tlib#input#List(): , keys work in some lists - tlib#input#List(): If an index_table is provided this will be used instead of the item's list index. FIXES: - tlib#input#List(): Problem with scrolling, when the list was shorter than the window (eg when using a vertical window). - tlib#cache#Filename(): Don't rewrite name as relative filename if explicitly given as argument. Avoid double (back)slashes. - TLet: simplified 0.13 CHANGES: - Scratch: Set &fdc=0. - The cache directory can be configured via g:tlib_cache - Renamed tlib#buffer#SetBuffer() to tlib#buffer#Set(). FIXES: - tlib#input#List(): Select the active item per mouse. - TLet: simplified 0.14 NEW: - tlib#buffer#InsertText() CHANGES: - tlib#win#[SG]etLayout(): Use a dictionnary, set &cmdheight. FIXES: - Wrong order with pre-defined filters. 0.15 NEW: - tlib#string#TrimLeft(), tlib#string#TrimRight(), tlib#string#Strip() - Progress bar 0.16 NEW: - tlib#string#Printf1() 0.17 NEW: - TBrowseOutput - Some minor changes 0.18 NEW: - tlib/time.vim - g:tlib_inputlist_livesearch_threshold CHANGES: - tlib#input#ListD(), World: Don't redisplay the list while typing new letters; calculate filter regexps only once before filtering the list. - World.vim: Minor changes to how filenames are handled. 0.19 NEW: - tag.vim FIX: - dir.vim: Use plain dir name in tlib#dir#Ensure() - tlib#input#List(): An initial filter argument creates [[filter]] and not as before [[''], [filter]]. - tlib#input#List(): When type was "si" and the item was picked by filter, the wrong index was returned. - tlib#input#List(): Don't check if chars are typed when displaying the list for the first time. 0.20 - The arguments of tlib#tag#Collect() have changed. - tlib#input#List(): The view can be "suspended" on initial display. - tlib#input#List(): Follow/trace cursor functionality 0.21 - tlib#buffer#InsertText(): Respect tabs and (experimental) formatoptions+=or - tlib/syntax.vim: Syntax-related functions 0.22 - FIX: very magic mode for tlib#rx#Escape() (thanks A Politz) - FIX: tlib#arg#Ex: escape "!" 0.23 - Respect the setting of g:tlib_inputlist_filename_indicators - tlib#input#List(): Reset syntax on resume; option to make list window "sticky" - tlib#agent#ToggleStickyList() - Simplified tlib#url#Decode() - tlib#arg#Ex(): use fnameescape() if available 0.24 - s:prototype.SetInitialFilter: accept list as argument - Maintain buffer MRU if required 0.25 - NEW: tlib#notify#TrimMessage(): trim message to prevent "Press ENTER" messages (contributed by Erik Falor) - NEW: tlib#notify#Echo() - FIX: World.CloseScratch(): Set window - FIX: tlib#input#ListW(): Set initial_display = 1 on reset 0.26 - NEW: tlib#normal#WithRegister() - FIX: Try not to change numbered registers 0.27 - FIX: Cosmetic bug, wrong packaging (thanks Nathan Neff) - Meaning of World#filter_format changed; new World#filter_options - Filtering didn't work as advertised - tlib#string#Count() 0.28 - tlib#input#List(): -- Improved handling of sticky lists; and resume a suspended list and immediately selects the item under the cursor -- Experimental "seq" matching style: the conjunctions are sequentially ordered, they are combined with "OR" (disjunctions), the regexp is 'magic', and "." is expanded to '.\{-}' -- Experimental "cnfd" matching style: Same as cnf but with an "elastic" dot "." that matches '\.\{-}' -- Filtering acts as if &ic=1 && $sc=1 -- Weighting is done by the filter - tlib#agent#Input(): Consume when aborting input() - INCOMPATIBLE CHANGE: Changed eligible values of g:tlib_inputlist_match to "cnf", "cnfd", "seq" and "fuzzy" - NEW: tlib#buffer#KeepCursorPosition() - tlib#buffer#InsertText(): Take care of the extra line when appending text to an empty buffer. 0.29 - tlib#string#Strip(): Strip also control characters (newlines etc.) - tlib#rx#Suffixes(): 'suffixes' as Regexp - World#RestoreOrigin(): Don't assume &splitbelow 0.30 - World#RestoreOrigin(): Don't assume &splitright 0.31 - :TRequire command -tlib#input#List: For i-type list views, make sure agents are called with the base indices. 0.32 - tlib#agent#Exit: explicitly return empty value (as a consequence, pressing when browsing an index-list, returns 0 and not "") - tlib#signs - tlib#input#List: set local statusline 0.33 - Don't reset statusline - Don't use fnamemodify() to split filenames (for performance reasons) - scratch: Set ft after setting up scratch options - tlib#map#PumAccept(key) 0.34 - tlib#buffer#HighlightLine(line): call tlib#autocmdgroup#Init() (reported by Sergey Khorev) 0.35 - tlib#input#EditList(): return the list if the user presses esc 0.36 - Display a message when the filter is for whatever reason invalid - Removed tlib#paragraph#Delete() - New: tlib#paragraph#Define(), tlib#textobjects#StandardParagraph() - Try to speed up list display (a rewrite of World.DisplayList() etc. is required) 0.37 - g:tlib_inputlist_livesearch_threshold defaults to 1000 - tlib#World: optional scratch_pos field - tlib#input#List: By default selects by number but NUMBER is interpreted as string - tlib#date - TTimeCommand 0.38 - tlib#World#Resize: set winfix{height|width} 0.39 - g:tlib#cache#dont_purge - tlib#vim#RestoreWindow() - tlib#ballon#...() 0.40 - tlib#agent#ViewFile: Use split/sbuffer if nohidden && modified - tlib#buffer#GetList(): order by "basename" version: "0.41" - World.UseScratch(): keepalt - Really include balloon.vim MD5 checksum: 3fcbc4f7556f5378d39622e62ab8f379 version: "0.42" - tlib#input#List: inserts a *-like wildcard (represented as "__") - Check if a cache file cannot be created because a directory of the same name exists (display a message if so) - tlib#cache#Filename: Removed check if a directory of the same name exists (due to inconsistent use) - Minor improvements related to buffer handling (scratch_split) - .gitignore - docs (thanks to blueyed) - There is no "edit" answer possibility. - Fix first purge: do nothing if no timestamp file. - g:tlib_pick_single_item - Removed pick_single_item. Changed the default behavour when a list has only 1 item. See doc for g:tlib_pick_last_item. - Updated help for tlib#input#List(); help_extra attribute - EXPERIMENTAL: cache_var, restore_from_cache, on_leave properties; #Initialize(), #Leave() - added tlib#cmd#BrowseOutputWithCallback function and :TBrowseScriptnames command - tlib#cmd#BrowseOutputWithCallback function and :TBrowseScriptnames command documentation - s:prototype.Initialize(): unlet self.cache_var after restoring values - tlib#input#List: filter-specific help - Removed the seq filter (use cnfd or fuzzy instead) - tlib#input#List: temp_prompt (for help message) MD5 checksum: aa8b5a4602235cc1a5bc9ee45d801b81 version: "0.42" - g:tlib#cache#silent: don't display messages when purging the cache (fixes #9) - Changed message when deleting directories in the cache. - g:tlib#input#use_popup: Don't rely on has('menu') but also check for gtk & win gui (fixes #10) - debug - tlib#input#ListW(): Didn't return a list when type == "m" - docs (solves #11) MD5 checksum: aa8b5a4602235cc1a5bc9ee45d801b81 version: "0.45" - fuzzy mode: prototype.highlight defaults to g:tlib_inputlist_higroup - tlib#scratch: Use noautocmd - tlib#input#ListW(): Use world.RestoreOrigin() instead of tlib#win#SetLayout(world.winview) - tlib#input#ListW(): Revert to tlib#win#SetLayout(world.winview) - tlib#cmd#OutputAsList(): Also save output in g:tlib#cmd#last_output - tlib#agent#Suspend(): Resume on BufEnter - tlib#input#Resume(): Make sure we are in the right buffer - tlib#agent#Suspend(): Use only BufEnter event to trigger a Resume - tlib#input#ListW(): When redisplaying a list, make sure prefix > 0 - tlib#vcs: Access vcs (initially only git is supported) - tlib#vcs: improved - tlib#persistent: Persistent data file names - tlib#file#With(): Trigger BufRead autocommands - Duplicate help tags (fixes #13) - Make sure scrolloff is 0 while viewing the list (fixes https://github.com/tomtom/vikitasks_vim/issues/2) MD5 checksum: 0af19ebc0e424727a598a988fdc90f4e - Support for tinykeymap (move paragraph) - Moved para_move to autoload/tinykeymap/map - tlib#vcs: some "diff" commands were defined as "ls"; updated hg def; %s is optional MD5 checksum: f2f2fe0893e75bb9423c1ddcd01f38f6 version: "0.46" - tlib#input#List: optimizations - Prepare for multi-mode maps - tlib#input#List: cnfx is new default filter - Filters: minor changes to how the pattern is displayed - g:tlib#input#format_filename: alternative method for formatting filenames - tlib#input#List: allow multiple keymaps / modes - Handle rezise events - Don't initialize the same window twice - Minor optimizations to how help is displayed - Handle VimResize event per buffer - Improve display of filenames & highlighting - Filename highlighter: set Highlight_filename() - RunStateHandlers(): set world variable - Optimize help display MD5 checksum: e3652927722bdc51935eb1a04238546b version: "1.00" - Set g:tlib_inputlist_and to ' ' again - g:tlib#input#filename_max_width: maximum display width of filenames - tlib#input#List: , : run command by name MD5 checksum: a42f90275cdbe9f7d92cac61b884a2d1 version: "1.01" - #UseInputListScratch(): Make sure the TLib autogroup was created (fixes #14) MD5 checksum: 5a6da7fc99c7fc7584e8fc2f7bf86fe4 version: "1.02" - tlib#cache#Value(cfile, generator, ftime, ...): cache value & check timestamp - Replaced g:tlib#cache#silent with g:tlib#cache#verbosity - FormatFilenames: improved handling of utf8 characters - tlib#persistent#Value() - tlib#input#List: Allow filename indiactors defined by the caller - Custom filename_indicators are displayed after (and clearly separted from) the standard indicators - Check the return value of an unknown_key agent - Format filename = "l": Allow ".." as start of a directory name - Format filename = "l": If the filename is just a filename's tail, display it on both sides - Set g:tlib_filename_sep to "\" on Windows (again) - g:tlib#cache#max_filename: If the cache filename is longer than N characters, use |pathshorten()|. MD5 checksum: b64ce6764f39f40bfc95f3916bbb0057 version: "1.04" version: "1.05" - tlib#hash: Adler32 & CRC32 (using zlib via ruby) algorithms - tlib#cache#Filename(): If the cache filename is too long, add the Adler32 checksum to the shortened path - tlib#cache#Filename(): Use tlib#hash#Adler32() only if the or() function exists - tlib#hash#Adler32(): Raise error, if or() doesn't exist - tlib#hash#CRC32(): Alternative implementation of crc32 (doesn't work yet, thus currently disabled) - tlib#bitwise: Bitwise operations for older versions of vim - tlib#number: Base conversion - tlib#input#ListW(): Handle mouse clicks more correctly - tlib#bitwise#Num2Bits(): Supports returning floats - tlib#hash#CRC32(): Alternative implementation of crc32 (doesn't work yet) - tlib#hash#CRC32(): Re-enable ruby version - tlib#hash#CRC32B(): Implementation of CRC32B checksum in vimscript (used only if +ruby isn't available) - tlib#hash#CRC32B(): vim version: cache the crc table - tlib#cache#Filename(): Use tlib#hash#CRC32B(file) instead of not Adler32 for filenames too long - tlib#hash#CRC32B(): ruby version: return upper case hex value - g:tlib#hash#use_crc32: define which crc32b version should be used - Moved spec files from vimtlib to tlib_vim - tlib#bitwise#Add() and tlib#bitwise#Sub() - tlib#file#Relative(): Wrong results for filenames that don't exist - Implementation of hash#Adler32 for earlier vim versions; g:tlib#hash#use_adler32 - tlib#cache#Filename(): Use adler32 again - addon-info - tlib#file#Absolute(): remove redundant "." parts in full filename - win32: Fix moving window when using :vertical for tlib#inpu#List() - tlib#cache#Filename(): Don't create wrong directory if the cache filename is too long - tlib#file#Join(): if strip_slashes, also strip redundant (back)slashes - tlib#input#ListW(): Always set post_keys variable - tlib#file#With(): escape backslashes - tlib#cmd#OutputAsList(): Support for nesting - tlib#dir#NativeName(dirname) MD5 checksum: 493f9beca44374de386f20d1613155e3 - Rename g:tlib_debug to g:tlib#debug - Renamed g:tlib_sortprefs_threshold to g:tlib#input#sortprefs_threshold - Renamed g:tlib#input#livesearch_threshold - Renamed g:tlib_inputlist_match to g:tlib#input#filter_mode - Renamed g:tlib_inputlist_higroup to g:tlib#input#higroup - Renamed g:tlib#debug - Moved g:tlib_pick_last_item - Renamed g:tlib#input#and, g:tlib#input#or, g:tlib#input#not - Moved g:tlib_numeric_chars to autoload/tlib/input.vim - Renamed g:tlib#input#keyagents_InputList_s, g:tlib#input#keyagents_InputList_m, g:tlib#input#handlers_EditList - Moved g:tlib_inputlist_pct, g:tlib_inputlist_width_filename, g:tlib_inputlist_filename_indicators, g:tlib_inputlist_shortmessage to autoload/tlib/World.vim - Renamed tlib#input#pick_last_item (2) - prototype.SelectItemsByNames() - filtered_items: Restricted view - prototype.PrintLines() - Restricted view (2) - Moved g:tlib_scroll_lines to autoload/tlib/agent.vim - prototype.PrintLines() (2) - tlib#input: Improved handling of popup menu (allows submenu) - tlib#input: Allow mods in keys - Moved g:tlib_scratch_pos to autoload/tlib/scratch.vim - Moved g:tlib_tags_extra, g:tlib_tag_substitute to autoload/tlib/tag.vim - tlib#agent#CompleteAgentNames(): Respect Arglead - Move g:tlib_viewline_position to autoload/tlib/buffer.vim - Move g:tlib_cache to autoload/tlib/cache.vim - Renamed g:tlib_filename_sep to g:tlib#dir#sep - prototype.UseScratch(): Set b:tlib_world - tlib#input: f9 toggles resticted view - tlib#input: next_agent, next_eval - tlib#input: Revised use of the popup menu - tlib#input: Disable popup menu for gui_gtk - tlib#input: Re-enabled the popup menu for gtk gui - tlib#input: FIX popup menu on Windows - Renamed g:tlib_numeric_chars to g:tlib#input#numeric_chars (disabled per-buffer values) (fixes #35) - Improve scratch list - New: tlib#grep - Merge branch 'master' of https://github.com/bruno-/tlib_vim into pull16 - g:tlib_scratch_hidden: Configure how to "hide" the scratch buffer - tlib#grep#Do: don't escape "*" in patterns - Optimize use of visible scratch buffers - World.scratch_hidden parameter - scratch: Always use keepalt & keepjumps MD5 checksum: 2e40449c47dc606ccef57aa0b1e22e8e version: "1.06" version: "1.07" - Help template - prototype.Highlight_filename(): Use matchstr() instead of fnamemodify() - Display buffer-related filename indicators only if g:tlib_inputlist_filename_indicators is true - tlib#file#Join(): strip_slashes defaults to 1 MD5 checksum: 6c8fa96fd3747be05df848ee93dd789b version: "1.08" - list#input: Improved support for file indicators (closes #17) - tlib#char#Get(): Optionally, also return mod - tlib#input#ListW: Use #DisplayFormat(world.list) - Renamed cnfx filter to glob & minor filter-related enhancements - list#input: Make help available as command; help cannot be called via ? - list#input: Improved help message - list#input: Support Home & End keys - list#input: Added glob filter - tlib#agent#ShowInfo: Show full filename - tlib#cmd#BrowseOutputWithCallback: Support calling callback with multiple results - tlib#cmd#ParseScriptname: Properly parse results from :scriptnames - tlib#tab#Set() - Prepare for proper handling of scratch_split == -1 - tlib#vim#CopyFunction() - tlib#cache#Value(): If generator is empty, use the optional argument as start value - tlib#persistent#Get() refers to tlib#cache#Get() MD5 checksum: 459ec620168d1ae9b18c69eb3f991832 - tlib#cache#Filename(): Use sha256() for VIM >= 7.4 - tlib#cache#Value(): Undo previous hack - tlib#list#Uniq(): option to remove empty values - tlib#cache#MTime(); tlib#persistent#Save() calls tlib#cache#Save() - tlib#input#ListW: Temporarily set noshowmode - tlib#list#Uniq(): Fix handling of empty items - lis picker: Remove from help - tlib#list#Uniq(): Implementation based on syntastic#util#unique(list) by scrooloose MD5 checksum: b5fb4107d63930c2c8b1f0f6b3a7ff07 version: "1.09" - tlib#cache#Filename(): Use sha256() for VIM >= 7.4 - tlib#cache#Value(): Undo previous hack - tlib#list#Uniq(): option to remove empty values - tlib#cache#MTime(); tlib#persistent#Save() calls tlib#cache#Save() - tlib#input#ListW: Temporarily set noshowmode - tlib#list#Uniq(): Fix handling of empty items - lis picker: Remove from help - tlib#list#Uniq(): Implementation based on syntastic#util#unique(list) by scrooloose MD5 checksum: b5fb4107d63930c2c8b1f0f6b3a7ff07 version: "1.09" - tlib#string#Chomp: Optional argument: max number of chars that should be removed MD5 checksum: 8c1b94e25045580874e2f892d509291b version: "1.10" - tlib#vcs#FindVCS(filename): Wrong parameters to fnamemodifiy if filename is a directory - Some system-related functions (e.g. facilitate use of cygwin tools) - tlib#arg#StringAsKeyArgsEqual(), tlib#arg#StringAsKeyArgs(): Support "key=val" type argument lists - tlib#vcs#Executable() - scripts/create_crc_table.rb - tlib#var#Get(): For namespaces other than global, replace "#" with "_" MD5 checksum: 4a33f2f23e1fc6600b32e7f8323e001e version: "1.11" - tlib#list#ToDictionary() - tlib#dir#CanonicName(): Use tlib#file#Canonic() - tlib#file#Canonic() MD5 checksum: 7995ab58f31eb6673d20deab8761838e version: "1.12" - SetInitialFilter(): Use deepcopy() - tlib#var#List(): use keys(namespace) for newer versions of vim - g:tlib#input#user_shortcuts (not functional yet) - tlib#input#List: state "picked" - UseInputListScratch(): Allow customization via self.index_next_syntax - tlib#cmd#Capture() - Facilitate customization of key agents via g:tlib_extend_keyagents_InputList_s, g:tlib_extend_keyagents_InputList_m MD5 checksum: 7dd8b17a1a5b555df979381dcbd4c9aa version: "1.13" - SetInitialFilter(): Use deepcopy() - tlib#var#List(): use keys(namespace) for newer versions of vim - g:tlib#input#user_shortcuts (not functional yet) - tlib#input#List: state "picked" - UseInputListScratch(): Allow customization via self.index_next_syntax - tlib#cmd#Capture() - Facilitate customization of key agents via g:tlib_extend_keyagents_InputList_s, g:tlib_extend_keyagents_InputList_m MD5 checksum: 7dd8b17a1a5b555df979381dcbd4c9aa version: "1.13" version: "1.14" - FIX #18: Make sure the scratch isn't readonly - FIX: display filter (properly handle backslashes) - Remove loaded_* guard from autoload files - tlib#notify#Echo(): minor changes - tlib#file#Edit() (used by tlib#agent#ViewFile) - tlib#buffer#GetList(): Buffer numbers are converted to numbers - tlib#sys: Change order of functions (move tlib#sys#IsCygwinBin to the (possibly FIX #19) - g:tlib#sys#check_cygpath: Call tlib#sys#IsExecutable('cygpath', 1) (possibly FIX #19) MD5 checksum: 2cf6386218736a2d09db43c8e751e5a4 version: "1.15" - tlib#file#Join(): New optional argument: maybe_absolute Drop preceding parts if a part looks like an absolute filename - tlib#sys#Open(), tlib#sys#IsSpecial() (moved from viki) - tlib#list#Uniq(): Handle hetergenous lists - FIX #21: duplicate help tag - NEW tlib#dictionary#Rev() - tlib#input#List(): Use to complete current word - NEW tlib#arg#GetOpts(); ENH tlib#arg#StringAsKeyArgsEqual() - cache: Allow for in memory cache - NEW tlib#eval#Extend() - Move qfl/loclist browser from trag to tlib - FIX tlib#eval#Extend() - Simplify tlib#eval#Extend() - World.index_next_syntax may be a dict - tlib#qfl#QflList: Use copy() - tlib#arg#GetOpts: Handle exit code MD5 checksum: 13fd8b0e4ba9cd932c57fc40ac3f641f version: "1.15" - tlib#file#Join(): New optional argument: maybe_absolute Drop preceding parts if a part looks like an absolute filename - tlib#sys#Open(), tlib#sys#IsSpecial() (moved from viki) - tlib#list#Uniq(): Handle hetergenous lists - FIX #21: duplicate help tag - NEW tlib#dictionary#Rev() - tlib#input#List(): Use to complete current word - NEW tlib#arg#GetOpts(); ENH tlib#arg#StringAsKeyArgsEqual() - cache: Allow for in memory cache - NEW tlib#eval#Extend() - Move qfl/loclist browser from trag to tlib - FIX tlib#eval#Extend() - Simplify tlib#eval#Extend() - World.index_next_syntax may be a dict - tlib#qfl#QflList: Use copy() - tlib#arg#GetOpts: Handle exit code MD5 checksum: 13fd8b0e4ba9cd932c57fc40ac3f641f - tlib#arg#GetOpts: Handle short options - tlib#arg: support short flags & facilitate completion - NEW :TLibTrace - tlib#sys#system_browser: FIX XDG string - NEW tlib#sys#SystemInDir() (used by tlib#vcs#Ls) - tlib#agent#Complete: improve fltrx - Remove tlib#arg#Key(), :TKeyArg - Move :TRequire, :TTimeCommand to macros/tlib.vim - NEW tlib#cmd#TBrowseScriptnames() - TScratch: use empty('') - NEW :TLibTrace - tlib#qfl: FIX TTagedFilesFilename regexp - Remove tlib#arg#Key() - tlib#buffer#InsertText(): Don't use TKeyArg - tlib#eval#Extend: don't assign value - NEW :TLibTrace, tlib#trace (was tlib#debug) - NEW tlib#string#SplitCommaList() - NEW tlib#time#FormatNow() - tlib#arg#GetOpts: selectively disable "long", "short" flags - tlib#arg#CComplete(): Support values completion (complete_customlist field) - NEW tlib#date#Shift() - tlib#qfl#Balloon(): Handle items with no bufnr - NEW tlib#file#Glob, tlib#file#Globpath - tlib#progressbar#Display(): optional "always" argument - tlib#vcs#GitLsPostprocess(): Try to handle encoded filenames from git ls-files - tlib#vcs#GitLsPostprocess: Eval only \ddd substrings - FIX #22: duplicate tag - tlib#buffer: Use 2match instead of 3match (incompatibility with matchparen) - FIX #23: duplicate help tag - tlib#string#SplitCommaList: optional "sep" argument - Rename TLibTrace -> Tlibtrace; NEW Tlibtraceset command - Rename s:SetSyntax -> tlib#qfl#SetSyntax - mv tlib#rx#Convert to incubator MD5 checksum: f3656fb35b7b3033084d6c5e504aca61 version: "1.16" - tlib#input#List: #ReduceFilter: make sure the regexp is valid - TTimeCommand -> Ttimecommand - tlib#eval#Extend: mode argument for expand() compatibility - tlib#input#List: Key handlers can have additional arguments - tlib#qfl#AgentWithSelected: Set world - prototype.UseInputListScratch: Run tlib_UseInputListScratch hook earlier - tlib#qfl#AgentWithSelected: typo - tlib#arg#GetOpts: type conversion (comma-separated lists etc.) - tlib#arg: validators - NEW tlib#date#IsDate() - tlib#balloon#Remove: Unset &ballooneval, &balloonexpr - NEW tlib#balloon#Expand() - NEW tlib#date#Format() - FIX tlib#date#Shift(..., "+Xm") for months - NEW tlib#trace#Backtrace() - NEW tlib#type#Is(), tlib#type#Are(), tlib#type#Has(), tlib#type#Have() - NEW :Tlibassert MD5 checksum: 3c4125a28ff1860accd254846651c251 version: "1.17" - tlib#input#List: #ReduceFilter: make sure the regexp is valid - TTimeCommand -> Ttimecommand - tlib#eval#Extend: mode argument for expand() compatibility - tlib#input#List: Key handlers can have additional arguments - tlib#qfl#AgentWithSelected: Set world - prototype.UseInputListScratch: Run tlib_UseInputListScratch hook earlier - tlib#qfl#AgentWithSelected: typo - tlib#arg#GetOpts: type conversion (comma-separated lists etc.) - tlib#arg: validators - NEW tlib#date#IsDate() - tlib#balloon#Remove: Unset &ballooneval, &balloonexpr - NEW tlib#balloon#Expand() - NEW tlib#date#Format() - FIX tlib#date#Shift(..., "+Xm") for months - NEW tlib#trace#Backtrace() - NEW tlib#type#Is(), tlib#type#Are(), tlib#type#Has(), tlib#type#Have() - NEW :Tlibassert MD5 checksum: 3c4125a28ff1860accd254846651c251 version: "1.17" - tlib#input#List: #ReduceFilter: make sure the regexp is valid - TTimeCommand -> Ttimecommand - tlib#eval#Extend: mode argument for expand() compatibility - tlib#input#List: Key handlers can have additional arguments - tlib#qfl#AgentWithSelected: Set world - prototype.UseInputListScratch: Run tlib_UseInputListScratch hook earlier - tlib#qfl#AgentWithSelected: typo - tlib#arg#GetOpts: type conversion (comma-separated lists etc.) - tlib#arg: validators - NEW tlib#date#IsDate() - tlib#balloon#Remove: Unset &ballooneval, &balloonexpr - NEW tlib#balloon#Expand() - NEW tlib#date#Format() - FIX tlib#date#Shift(..., "+Xm") for months - NEW tlib#trace#Backtrace() - NEW tlib#type#Is(), tlib#type#Are(), tlib#type#Has(), tlib#type#Have() - NEW :Tlibassert MD5 checksum: 3c4125a28ff1860accd254846651c251 version: "1.17" - tlib#input#List: #ReduceFilter: make sure the regexp is valid - TTimeCommand -> Ttimecommand - tlib#eval#Extend: mode argument for expand() compatibility - tlib#input#List: Key handlers can have additional arguments - tlib#qfl#AgentWithSelected: Set world - prototype.UseInputListScratch: Run tlib_UseInputListScratch hook earlier - tlib#qfl#AgentWithSelected: typo - tlib#arg#GetOpts: type conversion (comma-separated lists etc.) - tlib#arg: validators - NEW tlib#date#IsDate() - tlib#balloon#Remove: Unset &ballooneval, &balloonexpr - NEW tlib#balloon#Expand() - NEW tlib#date#Format() - FIX tlib#date#Shift(..., "+Xm") for months - NEW tlib#trace#Backtrace() - NEW tlib#type#Is(), tlib#type#Are(), tlib#type#Has(), tlib#type#Have() - NEW :Tlibassert MD5 checksum: 3c4125a28ff1860accd254846651c251 version: "1.17" - tlib#arg: Completion for comma-separated lists - Use "silent cd" - NEW tlib#type#DefSchema(); FIX tlib#type#Has() - tlib#cache#Value(): minor change - tlib#date#IsDate() also checks whether the date is valid - ! tlib#sys#Open(): escape special chars only once - tlib#trace#Print: Allow for strings - :Tlibtrace, :Tlibtraceset, :Tlibassert remove `-bar` - NEW :Tlibtype (type/schema assertions); tlib#type#Is() also accepts schemas as "types" - tlib#dir#CD(): Use haslocaldir() - tlib#qfl#AgentGotoQFE: Don't use wincmd w - NEW tlib#string#Input() - FIX g:tlib#sys#system_rx; add OpenOffice exensions to g:tlib#sys#special_suffixes - NEW tlib#selection#GetSelection() - tlib#date#Shift(): Fix "Xm", ++specs - tlib#trace#Set: FIX Properly handly "-label" MD5 checksum: c3a1fe7d3cd86becbd3f7b0ba7ae9cd8 version: "1.19" version: "1.20" - tlib#arg: Completion for comma-separated lists - Use "silent cd" - NEW tlib#type#DefSchema(); FIX tlib#type#Has() - tlib#cache#Value(): minor change - tlib#date#IsDate() also checks whether the date is valid - ! tlib#sys#Open(): escape special chars only once - tlib#trace#Print: Allow for strings - :Tlibtrace, :Tlibtraceset, :Tlibassert remove `-bar` - NEW :Tlibtype (type/schema assertions); tlib#type#Is() also accepts schemas as "types" - tlib#dir#CD(): Use haslocaldir() - tlib#qfl#AgentGotoQFE: Don't use wincmd w - NEW tlib#string#Input() - FIX g:tlib#sys#system_rx; add OpenOffice exensions to g:tlib#sys#special_suffixes - NEW tlib#selection#GetSelection() - tlib#date#Shift(): Fix "Xm", ++specs - tlib#trace#Set: FIX Properly handly "-label" MD5 checksum: c919e0782931a8c628c6996903f989d3 - tlib#date#Shift(): Support for business days 'Nb' - tlib#list#Uniq: Properly handle empty strings - tlib#trace: Use g:tlib#trace#printer and tlib#trace#Printer_{printer} - tlib#dictionary#Rev: Optional argument `opts = {}`; properly handle empty values etc. - NEW g:tlib#trace#hl - NEW spec/dictionary.vim - tlib#agent#CompleteAgentNames: case insensitive - tlib#arg#CComplete: --[no-]debug option - tlib#date#Format: use localtime() if no arg is provided - NEW tlib#file#IsAbsolute - NEW tlib#notify#PrintError() - tlib#trace#Print: FIX s/exec/call/ - tlib#type#Is() match full type name - NEW tlib#string#MatchAll() - Tlibtraceset, tlib#trace#Set(): If no `+` or `-` is prepended, assume `+`. - tlib#list#Input: fix highlighting for filenames - tlib#input#ListW: use world.CloseScratch(1) - tlib#agent#ViewFile: Ignore errors in :exec back - NEW tlib#agent#EditFileInWindow() - :Tlibtraceset uses tlib#arg#GetOpts(), i.e. you can set the log file more easily MD5 checksum: 20a48e225f32b9f58808096a5377af04 version: "1.22" - tlib#date#Shift(): Support for business days 'Nb' - tlib#list#Uniq: Properly handle empty strings - tlib#trace: Use g:tlib#trace#printer and tlib#trace#Printer_{printer} - tlib#dictionary#Rev: Optional argument `opts = {}`; properly handle empty values etc. - NEW g:tlib#trace#hl - NEW spec/dictionary.vim - tlib#agent#CompleteAgentNames: case insensitive - tlib#arg#CComplete: --[no-]debug option - tlib#date#Format: use localtime() if no arg is provided - NEW tlib#file#IsAbsolute - NEW tlib#notify#PrintError() - tlib#trace#Print: FIX s/exec/call/ - tlib#type#Is() match full type name - NEW tlib#string#MatchAll() - Tlibtraceset, tlib#trace#Set(): If no `+` or `-` is prepended, assume `+`. - tlib#list#Input: fix highlighting for filenames - tlib#input#ListW: use world.CloseScratch(1) - tlib#agent#ViewFile: Ignore errors in :exec back - NEW tlib#agent#EditFileInWindow() - :Tlibtraceset uses tlib#arg#GetOpts(), i.e. you can set the log file more easily MD5 checksum: 20a48e225f32b9f58808096a5377af04 version: "1.22" - bump version 1.23 + misc changes - FIX #24: avoid vim8 features - tlib#win#GetID(): Alternative implementation sets a window variable to identify the window - tlib#arg#GetOpts(): If args is a dict, return it - tlib#file#FilterFiles(): FIX typo - tlib#trace#Set: Experimental support for log levels - tlib#input#ListW: make sure to close scratch when <= 1 items are in the list - FIX #25: set win_nr again; fix some lint warnings - tlib#progressbar#Init(): returns a statusline definition that can be used for restor MD5 checksum: c4d6e018cbbd3b286a9b1648b748c1f3 version: "1.23" - bump version 1.23 + misc changes - FIX #24: avoid vim8 features - tlib#win#GetID(): Alternative implementation sets a window variable to identify the window - tlib#arg#GetOpts(): If args is a dict, return it - tlib#file#FilterFiles(): FIX typo - tlib#trace#Set: Experimental support for log levels - tlib#input#ListW: make sure to close scratch when <= 1 items are in the list - FIX #25: set win_nr again; fix some lint warnings - tlib#progressbar#Init(): returns a statusline definition that can be used for restor MD5 checksum: c4d6e018cbbd3b286a9b1648b748c1f3 version: "1.23" - bump version 1.23 + misc changes - FIX #24: avoid vim8 features - tlib#win#GetID(): Alternative implementation sets a window variable to identify the window - tlib#arg#GetOpts(): If args is a dict, return it - tlib#file#FilterFiles(): FIX typo - tlib#trace#Set: Experimental support for log levels - tlib#input#ListW: make sure to close scratch when <= 1 items are in the list - FIX #25: set win_nr again; fix some lint warnings - tlib#progressbar#Init(): returns a statusline definition that can be used for restor MD5 checksum: c4d6e018cbbd3b286a9b1648b748c1f3 version: "1.23" - bump version 1.23 + misc changes - FIX #24: avoid vim8 features - tlib#win#GetID(): Alternative implementation sets a window variable to identify the window - tlib#arg#GetOpts(): If args is a dict, return it - tlib#file#FilterFiles(): FIX typo - tlib#trace#Set: Experimental support for log levels - tlib#input#ListW: make sure to close scratch when <= 1 items are in the list - FIX #25: set win_nr again; fix some lint warnings - tlib#progressbar#Init(): returns a statusline definition that can be used for restor MD5 checksum: c4d6e018cbbd3b286a9b1648b748c1f3 version: "1.23" - bump version 1.23 + misc changes - FIX #24: avoid vim8 features - tlib#win#GetID(): Alternative implementation sets a window variable to identify the window - tlib#arg#GetOpts(): If args is a dict, return it - tlib#file#FilterFiles(): FIX typo - tlib#trace#Set: Experimental support for log levels - tlib#input#ListW: make sure to close scratch when <= 1 items are in the list - FIX #25: set win_nr again; fix some lint warnings - tlib#progressbar#Init(): returns a statusline definition that can be used for restor MD5 checksum: c4d6e018cbbd3b286a9b1648b748c1f3 version: "1.23" - bump version 1.23 + misc changes - FIX #24: avoid vim8 features - tlib#win#GetID(): Alternative implementation sets a window variable to identify the window - tlib#arg#GetOpts(): If args is a dict, return it - tlib#file#FilterFiles(): FIX typo - tlib#trace#Set: Experimental support for log levels - tlib#input#ListW: make sure to close scratch when <= 1 items are in the list - FIX #25: set win_nr again; fix some lint warnings - tlib#progressbar#Init(): returns a statusline definition that can be used for restor MD5 checksum: c4d6e018cbbd3b286a9b1648b748c1f3 version: "1.23" - bump version 1.23 + misc changes - FIX #24: avoid vim8 features - tlib#win#GetID(): Alternative implementation sets a window variable to identify the window - tlib#arg#GetOpts(): If args is a dict, return it - tlib#file#FilterFiles(): FIX typo - tlib#trace#Set: Experimental support for log levels - tlib#input#ListW: make sure to close scratch when <= 1 items are in the list - FIX #25: set win_nr again; fix some lint warnings - tlib#progressbar#Init(): returns a statusline definition that can be used for restor MD5 checksum: c4d6e018cbbd3b286a9b1648b748c1f3 version: "1.23" - bump version 1.23 + misc changes - FIX #24: avoid vim8 features - tlib#win#GetID(): Alternative implementation sets a window variable to identify the window - tlib#arg#GetOpts(): If args is a dict, return it - tlib#file#FilterFiles(): FIX typo - tlib#trace#Set: Experimental support for log levels - tlib#input#ListW: make sure to close scratch when <= 1 items are in the list - FIX #25: set win_nr again; fix some lint warnings - tlib#progressbar#Init(): returns a statusline definition that can be used for restor MD5 checksum: c4d6e018cbbd3b286a9b1648b748c1f3 version: "1.23" - bump version 1.23 + misc changes - FIX #24: avoid vim8 features - tlib#win#GetID(): Alternative implementation sets a window variable to identify the window - tlib#arg#GetOpts(): If args is a dict, return it - tlib#file#FilterFiles(): FIX typo - tlib#trace#Set: Experimental support for log levels - tlib#input#ListW: make sure to close scratch when <= 1 items are in the list - FIX #25: set win_nr again; fix some lint warnings - tlib#progressbar#Init(): returns a statusline definition that can be used for restor MD5 checksum: c4d6e018cbbd3b286a9b1648b748c1f3 version: "1.23"