topbanner_forum
  *

avatar image

Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length
  • Thursday March 28, 2024, 5:46 pm
  • Proudly celebrating 15+ years online.
  • Donate now to become a lifetime supporting member of the site and get a non-expiring license key for all of our programs.
  • donate

Last post Author Topic: Lintalist - searchable interactive text to copy & paste with plugins  (Read 66881 times)

Lintalist

  • Participant
  • Joined in 2015
  • *
  • Posts: 120
    • View Profile
    • Lintalist
    • Donate to Member
Hello,

I think there are quite a few AutoHotkey users here on Donationcoder so I thought I'd post a note about my program here.

Website: http://lintalist.github.io/ - Source & releases: https://github.com/lintalist/lintalist/

Background: this is a program (script) I've developed and used for a long time. It was inspired by the Textmate Bundle/Snippet concept which a few years back was hardly available in a Windows text editor. Lintalist has the advantage it should work in any program (as long as it allows AutoHotkey to paste text) not just your editor. Some might compare it to the "tag list" or "clip libraries" you might find in some text editors as well.

Lintalist is an open source program written in AutoHotkey which allows you to store and (incrementally) search and edit texts in bundles and paste a selected text in your active program. The text can be interactive, for example you can automatically insert the current time and date, ask for (basic) user input or make a selection from a list etc and finally it can also run a script. You can use keyboard shortcuts or abbreviations to paste the text (or run the script) without opening the search window.
Bundles can be context sensitive and multiple bundles can be used at the same time (if they match the criteria).

If you write your text in HTML or Markdown you can paste formatted text (bold, italics, images, links etc) into your documents or emails. You can also directly read RTF or Images to paste as well.

Features:

  • A novel feature is the ability to use two parts of text depending on how your bundle is set up
  • Assign keyboard shortcuts to your favourite Snippets
  • Use abbreviations (shorthand) for your favourite Snippets (not meant to replace or compete with AHK hotstrings)
  • Run scripts which can be included in a Bundle
  • Standard Plugins:
    • Set caret position after pasting
    • Insert date & time (incl. math operations)
    • Pick date or date range from a Calendar
    • Choose item from a list
    • Use counters
    • Use selected text
    • Use the clipboard
    • Insert text from a file
    • Chain snippets (insert the contents of one snippet into another snippet)
    • Insert a character
    • Calculations
    • Use local variables
    • Split text into parts to reuse
       

Search window:



1. Type query (multiple search modes)
2. Menu + search options.
3. Result list with Part 1, Part 2, Key(board shortcut), Short(hand, abbreviation). Columns are dynamic, if part 2, key or short are not present in the loaded bundle(s) they will not be displayed.
4. Preview of top most or selected snippet text. In statusbar: loaded bundle(s) and hits / number of snippets.

Videos (not the best of quality, YT reduces the quality I'm afraid after uploading)

1. Introduction: http://youtu.be/XfjZPAhHB8c
2. HTML/Markdown: http://youtu.be/Q6SFkttjUQk
3. Formatted text: http://youtu.be/J1StUarGHmI
4. Plugins: http://youtu.be/Rtd_ChyRVkM

Notes:

Some example bundles are available here https://github.com/lintalist/lintalist-bundles/ simply copy these to the Bundles\ folder and restart Lintalist - right click tray menu.

The release (see GH) contains lintalist.exe - it is simply a renamed autohotkey.exe included for convenience.
In order for Lintalist to run scripts it needs a copy of AutoHotkey - Lintalist is not meant to be compiled.

Feedback is always welcome!

Website: http://lintalist.github.io/ - Source & releases: https://github.com/lintalist/lintalist/

Edit2: forgot to add that is a fully portable, it stores everything in the folder the program resides in (settings and bundles). When you run it for the very first time it does ask if you want a shortcut on your desktop or would like to automatically start it with Windows but if you answer don't do that you can run it from a USB drive or dropbox account for example.
« Last Edit: August 25, 2015, 11:55 AM by Lintalist, Reason: Edits: links to website, GH and info about being portable »

Curt

  • Supporting Member
  • Joined in 2006
  • **
  • Posts: 7,566
    • View Profile
    • Donate to Member
Bravo, Congratulations, and Thank You!

My favourite line in your post:

a program (script) I've developed and used for a long time.
-Lintalist

 :up:

Lintalist

  • Participant
  • Joined in 2015
  • *
  • Posts: 120
    • View Profile
    • Lintalist
    • Donate to Member
Thanks. Glad you liked the post :-)

Edit: forgot to add that is a fully portable, it stores everything in the folder the program resides in (settings and bundles). When you run it for the very first time it does ask if you want a shortcut on your desktop or would like to automatically start it with Windows but if you answer don't do that you can run it from a USB drive or dropbox account for example.
« Last Edit: August 24, 2015, 01:35 PM by Lintalist, Reason: adding portable info. »

ewemoa

  • Honorary Member
  • Joined in 2008
  • **
  • Posts: 2,922
    • View Profile
    • Donate to Member
fully portable, it stores everything in the folder the program resides in (settings and bundles). When you run it for the very first time it does ask if you want a shortcut on your desktop or would like to automatically start it with Windows but if you answer don't do that you can run it from a USB drive or dropbox account for example.

Nice!

IainB

  • Supporting Member
  • Joined in 2008
  • **
  • Posts: 7,540
  • @Slartibartfarst
    • View Profile
    • Read more about this member.
    • Donate to Member
@Lintalist: Thankyou. Very interesting proggie (speaking as another AHK user). I read through the details at the website: http://lintalist.github.io/
Lintalist looks like it could be a pretty powerful tool. I see what you mean about the TextMate concept for Windows.
A few really useful applications in DOS/Windows started off being cribbed from the Mac environment and being transplanted into Windows.

Lintalist

  • Participant
  • Joined in 2015
  • *
  • Posts: 120
    • View Profile
    • Lintalist
    • Donate to Member
Always nice to meet fellow AHK users :Thmbsup:

I saw some other threads where Lintalist was mentioned here on DC, for that reason I would like to highlight the note that is also in the documentation and website
Note: although Lintalist can expand abbreviations it is not intended to replicate or replace the native AutoHotkey Hotstrings features, see http://ahkscript.org/docs/Hotstrings.htm for an introduction and description of all the options.

For those interested, for some background (and a teaser) you can read my reply to a question by thiagotalma on GitHub here https://github.com/l.../lintalist/issues/32

Lintalist

  • Participant
  • Joined in 2015
  • *
  • Posts: 120
    • View Profile
    • Lintalist
    • Donate to Member
Re: Lintalist - searchable interactive text to copy & paste with plugins
« Reply #6 on: October 10, 2015, 03:29 AM »
Just a heads up, a new beta is available, v1.7:

  • New: SearchLetterVariations setting -  Allow for variations of letters in search query - 'e' also searches for 'eéèë...' etc
  • New: SnippetEditor Setting - Allow user to set editor to use for "Edit in Editor"
  • New: PlaySound Setting - Play sounds after paste, open or close of Search Gui (beeps, default Windows media or user files)
  • New: added help menu with 'Help' and 'About' options to the GUIs and added 'About' to tray menu
  • Minor fixes and code refactoring.

I'd be interested to hear any feedback on the search results if you use this version, especially if they are unexpected or different from previous versions.
Adding SearchLetterVariations meant I had to change some underlying code for the various search methods which now makes more of use Regular Expressions which could mean results are different or displaying the results of a fuzzy search has become slower.
(For the PlaySound option: there are no sound files included, just look at sound.ini in the lintalist folder for instructions where to place them.)

Download the ZIP and unpack it to a folder of your choice:
https://github.com/l...list/archive/dev.zip

Feedback welcome: https://github.com/l.../lintalist/issues/49 or here of course.

Lintalist

  • Participant
  • Joined in 2015
  • *
  • Posts: 120
    • View Profile
    • Lintalist
    • Donate to Member
Re: Lintalist - searchable interactive text to copy & paste with plugins
« Reply #7 on: January 16, 2016, 03:17 AM »
v1.7 is now available. You can use the tray menu, check for updates, to upgrade, or download it manually via https://github.com/l...t/lintalist/releases

  • New: SearchLetterVariations setting - Allow for variations of letters in search query - 'e' also searches for 'eéèë...' etc
  • New: SnippetEditor Setting - Allow user to set editor to use for "Edit in Editor".
  • New: PlaySound Setting - Play sounds after paste, open or close of Search Gui (beeps, default Windows media or user files).
  • New: Added help menu with 'Help' and 'About' options to the GUIs and added 'About' to tray menu.
  • New: Split plugin now accepts "named Split" [[split_name]].
  • Fix: Tray menu: manage bundles and manage local variables weren't working.
  • Fix: Always resolve Vars in nested situations.
  • Various other minor fixes, code refactoring and documentation.
Upgrading:

  • If you are upgrading to this new release, you can use the tray menu option "Check for updates" and have it done automatically.
  • If you prefer to do it manually, please use the following procedure:
    • close your running copy of Lintalist first
    • unpack the zip file and overwrite all files. Note: any (changed) bundles and settings will not be overwritten




A quick note about the "named splits" - just in case you're wondering how useful the [[split]] plugin is, here is a short example how you can use it to create a Snippet with "logic".
You can use Choice (or another Plugin) to select an item and use that output to update other parts of the snippet.

[[Split_C1=[[choice=1   Option1|2   Option2|3   Option3|4   Option4]]|\t]]
[[Split_CSub=sub1 sub2 sub3 sub4|\s]]

You made Choice Number [[SP_C1=1]]
And the sub-selection that goes with it is:
[[SP_CSub=[[SP_C1=1]]]]

This will ask you to make a Choice from Option1..4, and if you pick Option3 it will use "3" as a selection criteria for another Split.
So if the above snippet would have the following output (if you select Option3):

You made Choice Number 3
And the sub-selection that goes with it is:
sub3

Another example can be found here http://lintalist.git...b.io/#combiningsplit

Lintalist

  • Participant
  • Joined in 2015
  • *
  • Posts: 120
    • View Profile
    • Lintalist
    • Donate to Member
A new beta is available (v1.8) - apart from some bug fixes and minor changes, the new features are:

  • New Command line parameter -Ini: load specific settings file (ini)
  • Calendar and DateTime plugins now accept Locale Identifiers (LCID) parameter
  • Multi-caret implemented for certain text editors, see docs/MultiCaret.md

If you paste a snippet into an editor which supports Multi-caret/edit you can now use those in Lintalist snippets by placing multiple caret locations in your snippet. Supported editors: Atom, Brackets, EverEdit, Sublime Text, TextAdept, UltraEdit 23+ but if you know of other editors that could be added let me know. Details in docs/MultiCaret.md after unpacking the zip download. The Editor needs to have a keyboard shortcut for "select word" AND "select next occurrence". If you can only use the mouse to do this, you won't be able to use this with feature of Lintalist snippets (Notepad++ and RJ TextEd for example won't work as you need to use the mouse)

Suggestions and feedback welcome...

More complete Changelog and Download:
https://github.com/lintalist/lintalist/issues/63

Sneak preview multi-caret/edit:

Lintalist

  • Participant
  • Joined in 2015
  • *
  • Posts: 120
    • View Profile
    • Lintalist
    • Donate to Member
v1.8 is now available. You can use the tray menu, check for updates, to upgrade, or download it manually via https://github.com/l...t/lintalist/releases

  • New: Command line parameters -Ini: load specific settings file (ini) 
  • New: Multi-caret implemented for certain text editors (see DOC) 
  • New: Random plugin, return random value or entry from a list (also added to Choice)
  • New: Calendar and DateTime now accept Locale Identifiers (LCID) parameter 
  • Change: Snippet, Bundle, Counter and Local variable editors are now all visible on the taskbar as a child window of a disabled Lintalist Search GUI (if present) this makes it easer to switch from/to the appropriate editor using alt-tab and mouse 
  • Added: Choice plugin GUI now has "Endless scrolling in a listbox" similar to Search GUI listview + Added a Random option
  • Fix: Cancelling a snippet with Choice plugin no longer makes Shorthand stop working 
  • Fix: After using quick search with one result e.g. automatic pasting of the only snippet, pressing space or tab executed the snippet again. Cleared the typing history after each paste fixed it.
  • Fix: Pause shortcut could cause error, added #IfWinNotActive ahk_group

Upgrading:

  • If you are upgrading to this new release, you can use the tray menu option "Check for updates" and have it done automatically.
  • If you prefer to do it manually, please use the following procedure:
    • close your running copy of Lintalist first
    • unpack the zip file and overwrite all files. Note: any (changed) bundles and settings will not be overwritten

Lintalist

  • Participant
  • Joined in 2015
  • *
  • Posts: 120
    • View Profile
    • Lintalist
    • Donate to Member
Re: Lintalist - searchable interactive text to copy & paste with plugins
« Reply #10 on: October 30, 2016, 04:17 AM »
v1.9 is now available

  • New: Choice plugin - Added option to provide "information/question" hint by starting first item with a question mark
  • New: Introduce "Not Titlematch" for bundles by using an exclamation mark 
  • Fix: Choice plugin - Multiple Choices working again
  • Fix: Random plugin - Count correct number of RandomItems
  • Fix: Lintalist - Added "Select and press enter" Choice gui to  BundleHotkeys group
  • Added: Visual Studio Code (code.exe) Configuration to MultiCaret.ini

Upgrading:

  • If you are upgrading to this new release, you can use the tray menu option "Check for updates" and have it done automatically.
  • If you prefer to do it manually, please use the following procedure:
    • close your running copy of Lintalist first
    • unpack the zip file and overwrite all files. Note: any (changed) bundles and settings will not be overwritten

Source & Releases here https://github.com/lintalist/lintalist/

and as always feedback welcome!

Lintalist

  • Participant
  • Joined in 2015
  • *
  • Posts: 120
    • View Profile
    • Lintalist
    • Donate to Member
Re: Lintalist - searchable interactive text to copy & paste with plugins
« Reply #11 on: February 18, 2017, 05:24 AM »
Update v1.9.2

  • New: Replaced check/radio boxes with button bar (using Class_Toolbar by pulover) andicons from the Fugue & Diagona Icon sets by Yusuke Kamiyamane. #51
    button-bar(1).pngLintalist - searchable interactive text to copy & paste with plugins
  • New: Right click context menu listview #70
  • Fix: Refactored LoadAll and Selected Bundle code, should work better now (lintalist.ahk)
  • Fix: Refactored duplicate hotkey and shorthand detection code, should work better now (editor.ahk)
  • Fix: SetIcon.ahk now also looks at Part2 of the snippet as it should

Available as usual at https://github.com/l...t/lintalist/releases

Lintalist

  • Participant
  • Joined in 2015
  • *
  • Posts: 120
    • View Profile
    • Lintalist
    • Donate to Member
Re: Lintalist - searchable interactive text to copy & paste with plugins
« Reply #12 on: November 06, 2017, 02:42 PM »
Lintalist v1.9.3 - https://github.com/l.../releases/tag/v1.9.3

  • Improved: TriggerKeys now accept more keys such as ½ or + (+ character, not shift) for example
  • Improved: Now there is also a 32x32 size icon button bar accommodating high(er) DPI settings (see BigIcons in settings)
  • New: added TryClipboard() to see if clipboard is inaccessible, if so "catch" error and do nothing
  • New: Make it possible to include contents of Snippet (part 1 and 2) in script code incl. caret position per snippet (see "Script" in Documentation)
  • Change: Similar to modal windows for Local variable etc, Snippet editor now modal  - see also v1.8
  • Fix: Adding support for UTF-8 characters in Local variabe & Counter Editors ht @exetico
  • Fix: ReadIni() now writes in UTF-16 to store settings correctly
  • Fix: Closing using X in title bar didn't store Window position for users with Center=2 and now save it to settings.ini as well
  • Fix: Closing and Starting Lintalist in Narrow view mode no longer causes error in GUI with empty 'barx' variable

Lintalist

  • Participant
  • Joined in 2015
  • *
  • Posts: 120
    • View Profile
    • Lintalist
    • Donate to Member
Re: Lintalist - searchable interactive text to copy & paste with plugins
« Reply #13 on: January 01, 2018, 04:08 AM »
v1.9.4 functions, AHK variables, editor w. syntax highlighting
https://github.com/l...t/lintalist/releases

  • New: Functions in Snippets are now also allowed: [[function()]] - both AHK built-in as user defined - #86 https://github.com/l.../lintalist/issues/86
  • New: support a subset of AutoHotkey built-in variables (A_MyDocuments etc)
  • New: Additional safety check when processing snippet by "removing" faulty plugins  plus a simple error check when saving snippets.
  • New: Editor now has (optional) Syntax highlighting (plugins, html, scripts) by using the RichCode class by @G33kDude - #88 https://github.com/l.../lintalist/issues/88 (when using RichCode you can toggle word wrapping in the edit controls by pressing ctrl+w)
  • Fix: Editor - "Edit in Editor" routine improved, notepad.exe may not show ".txt" in Window title,   and actually delete "__tmplintalistedit.txt" file in tmp folder (didn't do so correctly)
  • Change: User plugins (and now functions) can be added to MyPlugins/MyFunctions so future  updates of Lintalist won't overwrite plugins/functions added by users each time. See NOTE below.
  • Fix: Closing Input and Choice plugins via close button (x) in Gui now properly cancels snippet
  • New: added icons to Tray menu and some Search menu entries.

NOTE

User plugins/functions must now be included in plugins\MyPlugins.ahk and plugins\MyFunctions.ahk and no longer in `plugins\plugins.ahk`. Future updated will not overwrite these two files. More information and samples in https://raw.githubus...ins/readme-howto.txt

Lintalist

  • Participant
  • Joined in 2015
  • *
  • Posts: 120
    • View Profile
    • Lintalist
    • Donate to Member
Re: Lintalist - searchable interactive text to copy & paste with plugins
« Reply #14 on: October 13, 2018, 12:56 PM »
v1.9.7 - https://github.com/l...t/lintalist/releases


cranioscopical

  • Friend of the Site
  • Supporting Member
  • Joined in 2006
  • **
  • Posts: 4,776
    • View Profile
    • Donate to Member
Re: Lintalist - searchable interactive text to copy & paste with plugins
« Reply #15 on: October 13, 2018, 03:50 PM »
Thanks for continuing to improve and share!

Lintalist

  • Participant
  • Joined in 2015
  • *
  • Posts: 120
    • View Profile
    • Lintalist
    • Donate to Member
Re: Lintalist - searchable interactive text to copy & paste with plugins
« Reply #16 on: October 15, 2018, 01:21 PM »
No problem, most new options and fixes are based on user feedback so suggestions and reports are always welcome :-)

dluby

  • Charter Member
  • Joined in 2006
  • ***
  • Posts: 253
    • View Profile
    • Donate to Member
Re: Lintalist - searchable interactive text to copy & paste with plugins
« Reply #17 on: October 16, 2018, 02:09 AM »
Hi, I got curious and downloaded Lintalist and it seems very useful but far more powerful than I will ever need. I tried to paste into a command prompt but it didn't work, the cursor just changed to a block and nothing appears.  Is that a limitation of how the command prompt window?

Keep up the good work.

Lintalist

  • Participant
  • Joined in 2015
  • *
  • Posts: 120
    • View Profile
    • Lintalist
    • Donate to Member
Re: Lintalist - searchable interactive text to copy & paste with plugins
« Reply #18 on: October 16, 2018, 11:49 AM »
Yes, the command window can be special depending on the Windows version you are using.

Note that it actually sends shift+insert to paste as that (should) be defined in AltPaste.ini - see https://github.com/l...ter/docs/AltPaste.md for more information - that should work in Windows 10 by default.

If you use Windows 10 you can also enable ^v paste in the command prompt - see https://www.howtogee...dows-command-prompt/ on how to do that. If you do change that you can edit AltPaste.ini and remove [cmd.exe]

If you use any other windows version you should (could):
- open altpaste.ini in say notepad (or other text editor)
- look at the [cmd.exe] section and there you should see "Paste=+{Ins}" - replace "+{Ins}" with "!{space}ep" (sans quotes)
- save the ini file and restart lintalist
(I'll add this to the AltPaste.md documentation)

It should now use the alt-space-edit-paste shortcut to paste text, that may not always be the most reliable method but it should work.

If you have any new line chars in your snippet it will "send enter" to "execute" that snippet which you may not want, so either remove all new lines from your snippet OR use linefeed.ini to add

[cmd.exe]
char=32
this will replace new lines with a space - see http://lintalist.git...nfiguration-Linefeed

I hope that explains it and is useful.

dluby

  • Charter Member
  • Joined in 2006
  • ***
  • Posts: 253
    • View Profile
    • Donate to Member
Re: Lintalist - searchable interactive text to copy & paste with plugins
« Reply #19 on: October 18, 2018, 04:19 AM »
I have carried out your instructions on Windows 7 and it seems to work, so thanks for the solution.

Lintalist

  • Participant
  • Joined in 2015
  • *
  • Posts: 120
    • View Profile
    • Lintalist
    • Donate to Member
Re: Lintalist - searchable interactive text to copy & paste with plugins
« Reply #20 on: October 18, 2018, 11:20 AM »
Glad to hear it works :)

Lintalist

  • Participant
  • Joined in 2015
  • *
  • Posts: 120
    • View Profile
    • Lintalist
    • Donate to Member
Re: Lintalist - searchable interactive text to copy & paste with plugins
« Reply #21 on: February 24, 2019, 03:55 AM »
v1.9.8 - new FileList plugin, Choice search, Statistics, improved TitleCase, bug fixes ...

  • New: [[FileList]] plugin returns list of file names from folder - see DOC for all available options
  • New: [[Choice]] Search (filter as you type) option for Choice by adding ! similar to ? Question help/text;Allow user to resize Choice GUI; Use FontSize for Choice GUI (in the listbox) incl. Auto Center checkbox
  • New: Editor save size and position (resize by dragging window border)
  • New: Optional Statistics (see Configuration) https://github.com/l...lintalist/issues/112
  • Update: Title case for selected/clipboard plugins now uses TitleCase() for more flexibility https://github.com/l...lintalist/issues/113 also available as seperate function (for AHK) https://github.com/lintalist/TitleCase
  • Change: LCID values for Calendar and DateTime can now be Hexidecimal values as well (L1036 and L0x040C = French)
  • bug fixes, doc update etc...

https://github.com/l...t/lintalist/releases

nickodemos

  • Supporting Member
  • Joined in 2009
  • **
  • Posts: 145
    • View Profile
    • Donate to Member
Tried it after you mentioned it in another thread.

Working well within the idea frame I had.

One question. Is there a max size that a bundle can be. Already hitting 500KB and there is no end in site for how large I might take it. So how large can it go and will there be a slow down once it gets to a certain size. Should I be making multiple bundles to share the load or does this matter?

Lintalist

  • Participant
  • Joined in 2015
  • *
  • Posts: 120
    • View Profile
    • Lintalist
    • Donate to Member
Glad to hear it works for you :-)

All bundles are loaded in memory so that shouldn't matter much, depending on the context only some are shown/used in the Gui while searching so that might have an influence. Say you have a HTML bundle there no need to always show it as you only need while editing HTML files, but that bundle is loaded at startup.

I'm sure that at some point you will notice a "lag" but I doubt very much that would occur soon unless you have very large snippets (my longest snippets are about "2 or 3 pages of text" for example, my largest bundle is 3500+ items and I use about 20 bundles in total). If you put the entire New York phone book in a bundle there I'm sure it will be slow. (If I recall correctly I've done some tests with 25K snippets in a bundle and it still worked OK)

If you do tend to notice it start to slow down because you have a very large bundle(s) and/or snippet(s) you can perhaps move some snippets to text files by using the [[file=]] plugin - http://lintalist.github.io/#file-plugin - that way the content is only loaded when you use that particular snippet. You can use Part2 as a description of Part1 (where you would/could use File=) - http://lintalist.github.io/#Part1-2

Lintalist

  • Participant
  • Joined in 2015
  • *
  • Posts: 120
    • View Profile
    • Lintalist
    • Donate to Member
Re: Lintalist - searchable interactive text to copy & paste with plugins
« Reply #24 on: November 03, 2019, 03:41 AM »
v1.9.9 - String, Query plugins - shortcuts for first 10 results, various fixes

* New: Search GUI shortcuts for first 10 search result (Alt+1..0) - show numbers as text and/or icons. 
* New: String plugin to transform text (upper, lower, sentence, title case, trim...)
* New: Query plugin and QueryDelimiter setting. Use (parts of) search query in Snippets.
* New: Editor - 'shortcuts' (Keyboard accelerators) for the (Edit) controls.
* Change: removed Pgdown and Pgup hotkeys, no longer worked correctly and not all that useful
* Change/fix: Change how columns are set for listview to prevent accidental hiding of columns 
* Fix: Choice plugin Cancel/Esc not storing position properly
* Fix: Pausing / Enabling Shortcuts didn't work correctly, worked only after restart
* Update TitleCase() to v1.2

See https://github.com/l.../master/changelog.md for details.