That should work but is probably not ideal as lintalist will create a script, run the script and delete the script for just one character. If you use it often I'd would use method 2 outlined below. If you only use it once a day there is probably no need to bother.

2) Might be better (faster, more reliable) to use AutoHotkey's native hotstrings.

If you create a file autocorrect.ahk in the lintalist folder that will automatically be included - see https://github.com/lintalist/lintalist/ ... .ahk#L2455 - you can create the file with notepad or other text editor you may prefer. Just make sure it is saved with that exact name, so autocorrect.ahk and not autocorrect.ahk.txt by accident as sometimes happens when you save files in notepad.

I use that to define my non-lintalist hotstrings for typos e.g. teh -> the abuot -> about etc. You could use that here as well. In autocorrect.ahk just add this line. Be sure to remove / change the qm2 snippet (change the shorthand for example) and start lintalist again, now autocorrect.ahk should be loaded. If you type qm2 it should work as well.

(Future editions of lintalist will probably be able to make use of the new hotstrings() function recently to AutoHotkey but I haven't been able to get around to it yet. Once that is added hotstrings added in autocorrect.ahk could be managed via Lintalist)

1) You could use a script, if you want you can use this (just copy that in the script part of the snippet editor) - it sends backspace, ” and a {space}[code]Send {BS}”{space}[/code]That should work but is probably not ideal as lintalist will create a script, run the script and delete the script for just one character. If you use it often I'd would use method 2 outlined below. If you only use it once a day there is probably no need to bother.

2) Might be better (faster, more reliable) to use AutoHotkey's native hotstrings.

If you create a file [c]autocorrect.ahk[/c] in the lintalist folder that will automatically be included - see https://github.com/lintalist/lintalist/blob/master/lintalist.ahk#L2455 - you can create the file with notepad or other text editor you may prefer. Just make sure it is saved with that exact name, so [c]autocorrect.ahk[/c] and not [c]autocorrect.ahk.txt[/c] by accident as sometimes happens when you save files in notepad.

I use that to define my non-lintalist hotstrings for typos e.g. teh -> the abuot -> about etc. You could use that here as well. In [c]autocorrect.ahk[/c] just add this line. Be sure to remove / change the qm2 snippet (change the shorthand for example) and start lintalist again, now [c]autocorrect.ahk[/c] should be loaded. If you type qm2 it should work as well.[code]::qm2::Send {BS}”{space}[/code]Be sure to check the options of Hotstrings https://autohotkey.com/docs/Hotstrings.htm#Options - you could for example change it so qm2 works WITHIN a word or without typing an end character.

(Future editions of lintalist will probably be able to make use of the new hotstrings() function recently to AutoHotkey but I haven't been able to get around to it yet. Once that is added hotstrings added in [c]autocorrect.ahk[/c] could be managed via Lintalist)

Hi, can you help me with my issue? I made a new snippet in Lintalist to type the closing quotation mark ” with the shorthand: qm2. Now when I type, for example:

some words qm2

I get

some words ”

i.e. with a space between the last word (words) and the quotation mark (”).

I want Lintalist to if it's possible automatically remove that space. I see that there is the filed "Script" in the Lintalist snippet editor. So I wonder if it's possible to write such a script which will be able to remove that unwanted extra space?

Hi, can you help me with my issue? I made a new snippet in Lintalist to type the closing quotation mark [b]”[/b] with the shorthand: [b]qm2[/b]. Now when I type, for example: [quote]some words qm2[/quote] I get [quote]some words ”[/quote] i.e. with a space between the last word ([i]words[/i]) and the quotation mark ([i]”[/i]).

I want Lintalist to if it's possible automatically remove that space. I see that there is the filed "Script" in the Lintalist snippet editor. So I wonder if it's possible to write such a script which will be able to remove that unwanted extra space?

Fix: The error "Can not append snippet to Bundle (No file name available)" should no longer happen.

[b]v1.9.5[/b] Read Only cmdline, fixes: set default bundle, new snippet

[list][*] New: Command line parameters -ReadOnly: start in ReadOnly mode, no editing of bundles or updating settings.ini #95 https://github.com/lintalist/lintalist/issues/95[*] New: Check Capslock and ScrollLock state at startup, turn it off if used as hotkeys and inform user it is turned off #93 https://github.com/lintalist/lintalist/issues/93[*] Fix: allow to change default bundle #94 https://github.com/lintalist/lintalist/issues/94[*] Fix: Escape % in llpart1 and llpart2 variable when using snippet part1 or part2 in scripts #92 https://github.com/lintalist/lintalist/issues/92[*] Fix: The error "Can not append snippet to Bundle (No file name available)" should no longer happen.[/list]

A user on Github suggested a [b]read only [/b] mode so bundles/snippets couldn't be edited. Some discussion/ideas here https://github.com/lintalist/lintalist/issues/95 Let me know if there is interest in a simple or more elaborate "read only" mode.

at the end if your snippet.(It does indeed "trim" the white space at the end of the snippet, perhaps I should change that but I'm used to it myself now.)

Glad you like it.

You can try to put [code][[c=\s]][/code] or [code][[c=\s|2]][/code] at the end if your snippet.(It does indeed "trim" the white space at the end of the snippet, perhaps I should change that but I'm used to it myself now.)

I'm having a problem adding a single space at the end of a snippet. I was hoping to use the abbreviation and then just keep on typing on completion of the phrase. Interestingly, if I put more than one space, everything works fine.

Edit: Seems to be in Microsoft Word only?

This is an amazing script, thanks so much.

I'm having a problem adding a single space at the end of a snippet. I was hoping to use the abbreviation and then just keep on typing on completion of the phrase. Interestingly, if I put more than one space, everything works fine.

kunkel321 wrote:For fun, I took the core list of autocorrects ... make them into an LLbundle.

Also nice, although I don't specifically recommend it, but if it works for you, it works. I have other plans for an "AutoCorrect 2.0" (especially with AutoHotkey v.1.1.28 coming up) - discussion (and sneak preview, screenshots) here https://github.com/lintalist/lintalist/issues/32 (I'll start a new repo + discussion here on the forum in the next couple of weeks)

Glad to hear you managed to get it working :) [quote="kunkel321"]My Capslock got stuck in the on position ... check on startup and, if Capslock = on, then display a message ... [/quote] That is a nice idea, I've added it here https://github.com/lintalist/lintalist/issues/93 and will be part of the next update.[quote="kunkel321"]For fun, I took the core list of autocorrects ... make them into an LLbundle.[/quote] Also nice, although I don't specifically recommend it, but if it works for you, it works. I have other plans for an "AutoCorrect 2.0" (especially with AutoHotkey v.1.1.28 coming up) - discussion (and sneak preview, screenshots) here https://github.com/lintalist/lintalist/issues/32 (I'll start a new repo + discussion here on the forum in the next couple of weeks)

Lintalist seems to handle it just fine. My main script is a tiny bit faster. Maybe because it is sending key presses directly rather than using the Window clipboard--IDK. LL is plenty fast enough for regular daily use though. There are 4,483 words. Only the first couple of dozen show up in the LL window, but they are all accessible via the find feature, or by simply typing a recognized misspelling. I've even been using it as I type this post

For fun, I took the core list of autocorrects from my main script (which evolved from this awesome one https://www.autohotkey.com/download/AutoCorrect.ahk ) And converted them to a .csv, then used Lintalist to make them into an LLbundle. It is here: https://gist.github.com/anonymous/1f6e3a343e828a9df265f226dc42d71b

Lintalist seems to handle it just fine. My main script is a tiny bit faster. Maybe because it is sending key presses directly rather than using the Window clipboard--IDK. LL is plenty fast enough for regular daily use though. There are 4,483 words. Only the first couple of dozen show up in the LL window, but they are all accessible via the find feature, or by simply typing a recognized misspelling. I've even been using it as I type this post 8-)

My Capslock got stuck in the on position. It took a moment for me for figure out what was going on... *facepalm* You might want to do an ID10T check on startup and, if Capslock = on, then display a message such as "You are starting Lintalist with Caplocks activated. It will be stuck on. Do you want it turned off?"

My Capslock got stuck in the on position. It took a moment for me for figure out what was going on... *facepalm* You might want to do an ID10T check on startup and, if Capslock = on, then display a message such as "You are starting Lintalist with Caplocks activated. It will be stuck on. Do you want it turned off?"

Thanks for the replies. I am able to run the test script without an error. (Though I do find that Google Drive occasionally locks files when it's syncing!) Running as administrator made no difference. I moved it to swkunkel/autohotkey just to be safe. Importantly: I noticed in the error message that it is looking in \lintalist\bundles\default.txt, but I checked the folder and default.txt was actually located in lintalist\example. The \bundles folder didn't exist, so I created it and copied default.txt in there. It seems to work now. fyi: The list of snippets had been blank this whole time. I didn't realize that it should have sample snippets until just now. Thanks again. I will read the documentation more thoroughly and experiment.

Thanks for the replies. I am able to run the test script without an error. (Though I do find that Google Drive occasionally locks files when it's syncing!) Running as administrator made no difference. I moved it to [b]swkunkel/autohotkey[/b] just to be safe. Importantly: I noticed in the error message that it is looking in[b] \lintalist\bundles\default.txt[/b], but I checked the folder and default.txt was actually located in [b]lintalist\example[/b]. The \bundles folder didn't exist, so I created it and copied default.txt in there. It seems to work now. fyi: The list of snippets had been blank this whole time. I didn't realize that it should have sample snippets until just now. :D Thanks again. I will read the documentation more thoroughly and experiment.

kunkel321 wrote:Hey does anyone know for sure if Lintalist works with Win 10? If I make a new snippet, it doesn't get saved: ... Error

I can confirm it works on Windows 10. Every once in a blue moon I get that "Can't save" error too, I've tried to debug it but alas, I can not consistently replicate it, and I haven't solved it yet - it happens once and if I reload Lintalist the same snippet is added just fine.In your case I see that you're saving it to "Google Drive"* - I'm not familiar with that but perhaps that folder has some settings that prevent Apps from writing to it directly? Running as Admin might indeed help. You can also try to move Lintalist to another folder where you know you have write access, that way you can see if it works. Just close Lintalist, copy the Lintalist folder to say your regular "My Documents" folder or perhaps a USB flash/thumb drive and start it again. If you still can't add snippets & bundles I would be surprised.

* a small test script, just save it as test.ahk and start it (I assume you have AutoHotkey installed)

It tries to create/append to a text file on your Google Drive folder, if it can't it will show you a Message, if that is the case the Folder can't be accessed directly. By default (from what I've just read) you can't search that folder in Windows either so I'm assuming there is something special to it. See also https://support.google.com/a/answer/6105699?hl=en "Allow third-party apps for files in Drive: As an administrator, you control whether users can open Drive files with third-party apps ..."

[quote="kunkel321"]Hey does anyone know for sure if Lintalist works with Win 10? If I make a new snippet, it doesn't get saved: ... Error[/quote]I can confirm it works on Windows 10. Every once in a blue moon I get that "Can't save" error too, I've tried to debug it but alas, I can not consistently replicate it, and I haven't solved it yet - it happens once and if I reload Lintalist the same snippet is added just fine.In your case I see that you're saving it to "Google Drive"* - I'm not familiar with that but perhaps that folder has some settings that prevent Apps from writing to it directly? Running as Admin might indeed help. You can also try to move Lintalist to another folder where you know you have write access, that way you can see if it works. Just close Lintalist, copy the Lintalist folder to say your regular "My Documents" folder or perhaps a USB flash/thumb drive and start it again. If you still can't add snippets & bundles I would be surprised.

* a small test script, just save it as test.ahk and start it (I assume you have AutoHotkey installed) [code]FileAppend, test`ntest,C:\Users\swkunkel\Google Drive\AHK 2018\testtestahk.txtIf ErrorLevel MsgBox ERROR[/code]It tries to create/append to a text file on your Google Drive folder, if it can't it will show you a Message, if that is the case the Folder can't be accessed directly. By default (from what I've just read) you can't search that folder in Windows either so I'm assuming there is something special to it. See also https://support.google.com/a/answer/6105699?hl=en "Allow third-party apps for files in Drive: As an administrator, [b]you control[/b] whether users can open Drive files with [b]third-party apps[/b] ..."

I use it all the time on Win 10, although I don't add snippets to bundles. Perhaps it needs to be run as admin. Although I would think it wouldn't automatically do that if it is necessary, but it's worth a try.

I use it all the time on Win 10, although I don't add snippets to bundles. Perhaps it needs to be run as admin. Although I would think it wouldn't automatically do that if it is necessary, but it's worth a try.

Hey does anyone know for sure if Lintalist works with Win 10? If I make a new snippet, it doesn't get saved:---------------------------Error---------------------------ERROR: Could not append snippet to Bundle

C:\Users\swkunkel\Google Drive\AHK 2018\lintalist\bundles\default.txt

- LLPart1: This is my sample input. LLPart2: LLKey: LLShorthand: samp LLScript:---------------------------OK ---------------------------Also, bundle editor doesn't seem to do anything. The GUI shows, but if I add a new bundle, then reopen the editor, the bundle has not been saved (doesn't show up in list).

Thoughts?

Hey does anyone know for sure if Lintalist works with Win 10? If I make a new snippet, it doesn't get saved:---------------------------Error---------------------------ERROR: Could not append snippet to Bundle

C:\Users\swkunkel\Google Drive\AHK 2018\lintalist\bundles\default.txt

- LLPart1: This is my sample input. LLPart2: LLKey: LLShorthand: samp LLScript:---------------------------OK ---------------------------Also, bundle editor doesn't seem to do anything. The GUI shows, but if I add a new bundle, then reopen the editor, the bundle has not been saved (doesn't show up in list).

New: Editor now has (optional) Syntax highlighting (plugins, html, scripts) by using the RichCode class by @G33kDude - #88 https://github.com/lintalist/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.

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.githubusercontent.com/linta ... -howto.txtThis readme also includes the example provided by FG.

[list][*] New: Functions in Snippets are now also allowed: [[function()]] - both AHK built-in as user defined - #86 https://github.com/lintalist/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/lintalist/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.[/list]

[b]NOTE[/b]

User plugins/functions [i]must[/i] now be included in [c]plugins\MyPlugins.ahk[/c] and [c]plugins\MyFunctions.ahk[/c] and no longer in `plugins\plugins.ahk`. Future updated will not overwrite these two files. More information and samples in https://raw.githubusercontent.com/lintalist/lintalist/master/plugins/readme-howto.txtThis readme also includes the example provided by FG.

support for user/ahk functions in snippets: [[SubStr("AutoHotkey",5,3]] -> Hot

support for subset of AutoHotkey built-in variables: A_MyDocuments etc

See the documentation "Functions" for a rudimentary introduction (docs needs some work)

I've also added some error checking* when processing snippets (plugins/functions) - this will avoid Lintalist to crash - if it finds a plugin/function it can't process it will wrap the that section of the snippet in {{braces}} so if you made a typo [[inpt=Name?]] or call a non-existing function [[MyFunk()]] it will become {{inpt=Name?}}{{MyFunk()}} so you can see there is an error in the snippet.

Suggestions and bug reports welcome :-0

* I should probably add some more by preventing snippets calling Lintalist functions as that could really mess things up but I haven't done so yet.

For the adventurous: here is a development branch https://github.com/lintalist/lintalist/tree/dev-functions

[list][*] support for user/ahk functions in snippets: [c][[SubStr("AutoHotkey",5,3]][/c] -> Hot[*] support for subset of AutoHotkey built-in variables: [c]A_MyDocuments[/c] etc[/list]

See the documentation "Functions" for a rudimentary introduction (docs needs some work)

I've also added some error checking* when processing snippets (plugins/functions) - this will avoid Lintalist to crash - if it finds a plugin/function it can't process it will wrap the that section of the snippet in {{braces}} so if you made a typo [c][[inpt=Name?]][/c] or call a non-existing function [c][[MyFunk()]][/c] it will become [c]{{inpt=Name?}}[/c] [c]{{MyFunk()}}[/c] so you can see there is an error in the snippet.

Suggestions and bug reports welcome :-0

[color=#BFBFFF]* I should probably add some more by preventing snippets calling Lintalist functions as that could really mess things up but I haven't done so yet.[/color]

hoppfrosch wrote:Here here here! I would probably use it! ... I'm looking for a template system (written in AHK) ...

It wouldn't be to hard to "extract" it from Lintalist but if you do so "as is" you'll have a quite few global variables which some wouldn't like, so transforming the labels to functions would be preferred to have a nice and clean solution. I'll put it on my list

[quote="hoppfrosch"]Here here here! I would probably use it! ... I'm looking for a template system (written in AHK) ...[/quote]It wouldn't be to hard to "extract" it from Lintalist but if you do so "as is" you'll have a quite few global variables which some wouldn't like, so transforming the labels to functions would be preferred to have a nice and clean solution. I'll put it on my list :shh:

I'm looking for a template system (written in AHK) to automate/simplify the generation of the awesome AHK-page on github. For sure this can easily be done in any other scripting language - but how awesome is AHK, if it's a major barrier to implement a templating system to generate the awesomeAHK-page?

Here here here! I would probably use it! ;)

I'm looking for a template system (written in AHK) to automate/simplify the generation of the [url=https://github.com/ahkscript/awesome-AutoHotkey]awesome AHK-page[/url] on github. For sure this can easily be done in any other scripting language - but how awesome is AHK, if it's a major barrier to implement a templating system to generate the awesomeAHK-page? :lol:

@hoppfrosch funny you should say that - I've always thought it might be "useful" to separate the snippet+plugins processing from Lintalist as a standalone function/library. That way you could use it in other scripts by simply #include snippets.ahk

Not sure if it is worth the effort to do so as I don't expect many people would use it.

@hoppfrosch funny you should say that - I've always thought it might be "useful" to separate the snippet+plugins processing from Lintalist as a standalone function/library. That way you could use it in other scripts by simply [c]#include snippets.ahk[/c] [code]::hotstring:: ; or hotkeyvar:=snippet("Hello [[Input=Name]]")return

#include snippets.ahk[/code] Not sure if it is worth the effort to do so as I don't expect many people would use it. :think: