g_IntelliSense-everywhere

Post your working scripts, libraries and tools
User avatar
SL5
Posts: 330
Joined: 12 May 2015, 02:10
GitHub: sl5net
Contact:

g_IntelliSense-everywhere

Post by SL5 » 15 Mar 2018, 20:07

The selection of an entry is similar to the selection of e.g. at notepad ++
In notepad ++ you can select (last entries) as follows:
Alt + D or Alt + F (opens the file menu) and then a number (1 to 9).
This is almost the same in g_IntelliSense:
__ (opens the list) and then tap a number (1 to 9).

Example of intelligibility / simplicity :Word lists can inherit from each other.
The location of a word list is well defined (e: can be changed individually).
Place = ClassName \ Window Name
simple?
all you need to remember is to type __ and then tap a number (1 to 9). if not nothing happens

Example of integrability
kotlin Script
understands simple text
it understands AHK
replacements
synonyms are possible
regEx include
filter rules include
notepad
open source
Example for writing an list for a script-language
https://github.com/sl5net/global-Intell ... everywhere

I hope you enjoy it. :xmas: Here it is late at night. Maybe until tomorrow.
Last edited by SL5 on 19 Mar 2018, 18:32, edited 3 times in total.
User avatar
SL5
Posts: 330
Joined: 12 May 2015, 02:10
GitHub: sl5net
Contact:

Re: g_IntelliSense-everywhere

Post by SL5 » 20 Mar 2018, 07:15

bugfix: bug when opening a new created word lists.
bugfix: there was a bug when creating new word lists. These are written in root \ className \ title since the changes recently. The rule is and remains: root \ wordlists \ className \ title

new features:

Now it's finally really fast changing wordlists. or say: normal fast as it should be.

small Wordlists are changed automatically. Current default setting in Bytes is:
global g_minBytesNeedetToAskBevoreChangingWordlist: = 80000; <== minimum bytes. then wants to be asked before the change 20.03.2018 18:22
burque505
Posts: 571
Joined: 22 Jan 2017, 19:37

Re: g_IntelliSense-everywhere

Post by burque505 » 26 Mar 2018, 14:31

Thanks, SL5, I was wondering why I couldn't get it to run! Looks very interesting. Having a little trouble getting started though.
I typed in ___ as instructed and hit 1. I was in Notepad. I closed it reopened it, and typing __ resulted in hitting number 1 opening notepad. But in the opened notepad, the following text appeared:

Code: Select all

; 'created token=17-08-10_16-17' ; (Source\inc_ahk\Typing_Aid_everywhere_multi_clone.inc.ahk~118) 
; #Include ..\_globalWordLists\examplesForBeginners.txt ; updated: 21.03.2018 07:33
___your library open|rr||ahk|run,Untitled_Notepad.txt
Should that not have been a library entry somewhere? It looks very powerful, but it's not yet clear to me how I create projects/folders/libraries.
Regards,
burque505
User avatar
SL5
Posts: 330
Joined: 12 May 2015, 02:10
GitHub: sl5net
Contact:

Re: g_IntelliSense-everywhere

Post by SL5 » 27 Mar 2018, 08:53

burque505 wrote:... Looks very interesting.
happy to hear that
burque505 wrote:...Having a little trouble getting started though.
so life is. hopefully no bug.
burque505 wrote:I typed in ___ as instructed and hit 1. I was in Notepad. I closed it reopened it, and typing __ resulted in hitting number 1 opening notepad. But in the opened notepad, the following text appeared:

Code: Select all

; 'created token=17-08-10_16-17' ; (Source\inc_ahk\Typing_Aid_everywhere_multi_clone.inc.ahk~118) 
; #Include ..\_globalWordLists\examplesForBeginners.txt ; updated: 21.03.2018 07:33
___your library open|rr||ahk|run,Untitled_Notepad.txt
Thank you if I understand correctly, you were first on any page and have made a dictionary on which you in Notepad plus plus has led
Then you have again created a dictionary in notepad-plus-plus which has been opened again in notepad-plus-plus
Anyway, that would be a logical possible interpretation otherwise it would have to be a bug

in other words. Lastly, you have created a dictionary for the dictionary. and everything was always opened in your notepad, because this is the default program for your txt files.
burque505 wrote: Should that not have been a library entry somewhere? I
no. what for? use case? Example? Did you read the readme? Also below in the text? ;)
User avatar
SL5
Posts: 330
Joined: 12 May 2015, 02:10
GitHub: sl5net
Contact:

Re: g_IntelliSense-everywhere

Post by SL5 » 27 Mar 2018, 12:02

very little example for WhatsApp for desktop users smilie of a kiss Smiley :roll: :

https://github.com/sl5net/global-Intell ... atsApp.txt

Code: Select all

kuss|rr||ahk|send,{Space}:kiss `n Sleep,180 `n Send,{enter}
kiss|rr|
Last edited by SL5 on 27 Mar 2018, 18:56, edited 1 time in total.
User avatar
SL5
Posts: 330
Joined: 12 May 2015, 02:10
GitHub: sl5net
Contact:

Re: g_IntelliSense-everywhere

Post by SL5 » 27 Mar 2018, 18:55

answers to questions from anonymous:
https://github.com/sl5net/global-Intell ... _01-13.txt

update 28.03.2018 16:01:

i addet some mor links inside the description of the demo video (https://www.youtube.com/watch?v=elLsl8lj0K8):
....
4:26 very easy examples. using a actions from the worklist.
5:20 simplest example. only write some text
6:10 r - command. replace with text.
6:45 rr - command. for programmer. mainly used autohotkey commands.
9:09 add new line inside your library
r2997790
Posts: 23
Joined: 02 Feb 2017, 02:46

Re: g_IntelliSense-everywhere

Post by r2997790 » 01 Apr 2018, 00:16

Hi SL5

I had a couple of questions I wondered if you could help me understand… thanks for the fantastic script!

Is it possible to automatically reload when you update the wordlist?

Change the font - I had a look at the preferences file but couldnt see how to change this?

Position the box under text cursor — I saw there was an offset parameter, I’m guessing this is how to move the position of the popup?

Display on the hotstring only, not the whole string (perhaps a parameter to turn this on or off?), this would cut down the width of the intellisense popup which would really help me, ie. the string only before the first "|"
User avatar
SL5
Posts: 330
Joined: 12 May 2015, 02:10
GitHub: sl5net
Contact:

Re: g_IntelliSense-everywhere

Post by SL5 » 01 Apr 2018, 05:56

.
Last edited by SL5 on 09 Apr 2018, 02:25, edited 1 time in total.
User avatar
SL5
Posts: 330
Joined: 12 May 2015, 02:10
GitHub: sl5net
Contact:

Re: g_IntelliSense-everywhere

Post by SL5 » 01 Apr 2018, 07:32

r2997790 wrote:... Display on the hotstring only, not the whole string (perhaps a parameter to turn this on or off?), this would cut down the width of the intellisense popup which would really help me, ie. the string only before the first "|"
ok. works :)

thats a global config. planed: optional config for each line.

global g_regExReplaceInVisibleLine := "^([\w\d_-]+).*" ; show only first text , numers _ or -
global g_regExReplaceInVisibleLine := "^([^|]+).*" ; the string only before the first "|"
https://github.com/sl5net/global-Intell ... id.ahk#L32
User avatar
SL5
Posts: 330
Joined: 12 May 2015, 02:10
GitHub: sl5net
Contact:

Re: g_IntelliSense-everywhere

Post by SL5 » 03 Apr 2018, 17:29

r2997790 wrote:..
Position the box under text cursor ..
feature added : you can move the list with the mouse.

1 first click on the list activates the tracking mode. the list follows you.

2 on the second click, the list remains.
User avatar
SL5
Posts: 330
Joined: 12 May 2015, 02:10
GitHub: sl5net
Contact:

Re: g_IntelliSense-everywhere

Post by SL5 » 04 Apr 2018, 11:04

r2997790 wrote: Change the font - I had a look at the preferences file but couldnt see how to change this?
feature: resize font size by mouse wheel. step: enable it by click in listbox. disable it by click in listbox again.
https://github.com/sl5net/global-Intell ... everywhere
User avatar
SL5
Posts: 330
Joined: 12 May 2015, 02:10
GitHub: sl5net
Contact:

Re: g_IntelliSense-everywhere

Post by SL5 » 25 Apr 2018, 00:38

IntelliSense-lists can changed onthefly by using WinSetTitle inside your list (your textfile). simply use the WinSetTitle command within your IntelliSense text files like example below shows:

Code: Select all

change IntelliSense to what ever you want|rr||ahk|WinSetTitle,A,,another titel
for some reason it could helful to add a wainting time before do the change. like this (i use it with gmail):

Code: Select all

change IntelliSense to what ever you want|rr||ahk|sleep,2000 `n WinSetTitle,A,,another titel
User avatar
derz00
Posts: 495
Joined: 02 Feb 2016, 17:54
GitHub: derz00
Location: Middle of the round cube

Re: g_IntelliSense-everywhere

Post by derz00 » 25 Apr 2018, 09:05

Hi SL5, I can't figure out what this system does. Looks interesting though. What are these wordlists supposed to do?

:wave:
try it and see
...
User avatar
SL5
Posts: 330
Joined: 12 May 2015, 02:10
GitHub: sl5net
Contact:

Re: g_IntelliSense-everywhere

Post by SL5 » 25 Apr 2018, 13:41

derz00 wrote:Hi SL5, I can't figure out what this system does. Looks interesting though. What are these wordlists supposed to do?

:wave:
hi you :) it's a intellisense, a wordlist, a notebook. and its programmable. it responds to keystrokes and can theoretically do everything. Do you know what a intellisense is? If that's too complicated for you, you can just use it like a little wordlist. The names of your lists are generated automatically. But there are at least 3 other places where you can influence the names of the lists or reuse them or inherit from others. Actually I have problems with it again. In some programs, the keyboard is not intercepted and then it does not do anything. That was different the day before yesterday. I have to start with versioning numbers very soon.
(insteed of wordlist i prfer sometimes to say actionlist.)

Code: Select all

there is a talk in german. i have not time to translate it yet:

20:56, 25.4.2018 SL: kannst du erraten was das her macht:

if (RegExMatch( activeTitle , "(\.ahk)" ) ) 
      wordlistNEW := "..\_globalWordListsGenerated\_ahk_global.txt._Generated.txt"
	  
20:57, 25.4.2018 Julia: irgendwas mit regulären Ausdrücken...
20:57, 25.4.2018 SL: Ist verbiegt die Standardeinstellung für die Liste auf eine andere
20:57, 25.4.2018 SL: Hype der Fenster Klasse ist
20:57, 25.4.2018 SL: In Windows bzw man sagt auch Klassen
20:58, 25.4.2018 Julia: sagt mir nix...
20:58, 25.4.2018 SL: Daher gibt es eine Filter Datei für die jeweilige Klasse welcher normalerweise leer ist (fast leer)
20:58, 25.4.2018 Julia: okay...
20:58, 25.4.2018 SL: Schon kapiert? War nicht so kompliziert oder?
20:59, 25.4.2018 SL: Die Listen werden automatisch erstellt immer Klassenname dann Fenster name
20:59, 25.4.2018 Julia: ich hab nix kapiert, dazu bin ich zu wenig in der Materie drin
21:00, 25.4.2018 SL: Welche intellisense bzw Liste aktiviert hängt ja immer davon ab welches Fenster gerade den Fokus hat
21:00, 25.4.2018 SL: Aber das Verhalten kann man eben umbiegen und das habe ich an dem oberen Beispiel gemacht
21:01, 25.4.2018 Julia: Ich verstehe nix. Was bedeutet "Fenster", was "Liste"?
21:01, 25.4.2018 SL: Auf deutsch. Wenn der aktuelle Titel die Buchstaben AHK enthält dann soll er als Liste folgende Datei hernehmen
21:02, 25.4.2018 Julia: ein bisschen klarer isses jetzt
21:05, 25.4.2018 SL: Der Laie macht das normalerweise nichts er lässt einfach die Standardeinstellung
21:05, 25.4.2018 Julia: ja
21:06, 25.4.2018 SL: Anderes beispiel dem ich gerade einen Begriff hinzugefügt habe: 

if ( RegExMatch( activeTitle , "(Double Commander|FreeCommander|Q-Dir \d|Bild öffnen|Anhang speichern|Datei speichern|Speichern|Speichern unter|ffnen|Dateien/Ordner suchen|Exportieren|Dokument speichern|Select Path|Open File or Project|Select File)" ) ) 
      return "..\_globalWordLists\pfade"
21:06, 25.4.2018 SL: Was wird wohl in diesem pfad.txt drinstehen ;) ?
21:06, 25.4.2018 Julia: also, es gibt ein Standard-IntelliSense, und du hast so eine Art "Add-On" entwickelt
21:08, 25.4.2018 SL: Leider falsch
21:09, 25.4.2018 SL: Es werden keine Listen mit ausgeliefert das heißt wenn du das installierst kannst du erstmal überhaupt nichts damit machen wenn du die Listen nicht füllst. allerdings habe ich Beispiel listen online
21:09, 25.4.2018 Julia: Dann verstehe ich überhaupt nichts, aber du springst immer in die Details, hast aber noch immer nicht gesagt, was das eigentliche Ziel isf
21:10, 25.4.2018 Julia: ach so... aber was sind "Listen", und was "Fenster"?
21:11, 25.4.2018 SL: Gut dass du das ansprichst ich weiß ja nicht was man nicht versteht aber das hilft mir schon sehr
21:11, 25.4.2018 SL: Als Fenster bezeichne ich alles was es überhaupt gibt
21:11, 25.4.2018 SL: Ein Browserfenster
21:11, 25.4.2018 SL: Oder ein Windows Eigenschaften Fenster
21:11, 25.4.2018 SL: Oder ein Word Dokument
21:12, 25.4.2018 SL: Windows Explorer
21:12, 25.4.2018 SL: Windows Startmenü
21:12, 25.4.2018 SL: Sogar der Desktop
21:12, 25.4.2018 Julia: Ja, wenn man sehr tief in der Materie steckt, weiß man nicht, was ein Außenstehender versteht. Okay, "Fenster" ist jetzt klar
21:12, 25.4.2018 SL: All dieses lässt sich adressieren über einen Klassennamen und den Fenstertitel
21:13, 25.4.2018 SL: Diese Eigenschaft habe ich ausgenutzt um automatisch Wortlisten anzubieten die allerdings leer sind wenn man sie das erste Mal öffnet
21:13, 25.4.2018 Julia: Wo findet man Klassennamen und Fenstertitel?
21:13, 25.4.2018 SL: Das ist eine sehr gute Frage
21:14, 25.4.2018 SL: Der einzige Befehl den man wirklich kennen muss
21:14, 25.4.2018 SL: Über zwei Unterstriche erscheint ein Menü welches man einfach ignorieren kann oder mit der Taste 1 in die entsprechende Wordlist kommt
21:14, 25.4.2018 Julia: wie heisst der, und woher kennst du ihn?
21:14, 25.4.2018 SL: Du musst mir schon ein bisschen Zeit geben um zu antworten
21:15, 25.4.2018 Julia: In deinem Programm?
21:15, 25.4.2018 SL: Die beiden Unterstriche öffnen die Wortliste diese ist eine ganz normale Textdatei
21:15, 25.4.2018 Julia: Ja, lass dir ruhig Zeit 
21:15, 25.4.2018 SL: Diese beide Unterstriche stehen auch in der Wortliste kannst Du also theoretisch auch ändern falls du lieber mit irgendetwas anderem deine Wortliste öffnest
21:16, 25.4.2018 Julia: die Wortliste enthält Klassennamen und Fenstertitel?
21:16, 25.4.2018 SL: Das heißt man muss nicht mit dem Namen der Listen in Berührung kommen um sie zu verwenden
21:16, 25.4.2018 Julia: okay... was machen die Listen?
21:16, 25.4.2018 SL: Daraus besteht der Dateinamen bzw Ordnername und Dateiname
21:21, 25.4.2018 SL: Der Ordner ist ja Klassennamen. Vor es wäre einfacher wenn ich erstmal nur von Dateinamen spreche.
21:21, 25.4.2018 Julia: ach so...
21:21, 25.4.2018 SL: Also der Ordner entspricht dem Klassennamen. so muss man richtig sagen
21:21, 25.4.2018 Julia: ja
21:22, 25.4.2018 SL: Darin befinden sich dann entsprechend viele Textdateien. Sprechender anzahl der Wortlisten welche man zu so einer Klasse aktuell benutzt
21:22, 25.4.2018 SL: Sollte heißen entsprechen
21:22, 25.4.2018 Julia: ach so, okay
21:22, 25.4.2018 SL: Natürlich können die Listen auch voneinander erben. aber das benutzt natürlich der Anfänger auch nicht
21:23, 25.4.2018 Julia: ja
21:23, 25.4.2018 SL: Und eigentlich sind es ja nicht nur Wortlisten sondern bei mir sind es hauptsächlich Programmbausteine die dann aktiv werden (Anm. d. Red.: oder selbst andere Programme starten) aber das macht der Anfänger auch nicht
21:23, 25.4.2018 Julia: okay
21:24, 25.4.2018 Julia: Und worauf zielt das Ganze ab?
21:25, 25.4.2018 SL: Es wird alles automatisiert welches irgendwie mit Text zu tun hat
21:25, 25.4.2018 SL: Einmal ein Beispiel
21:26, 25.4.2018 SL: Will eine intellisense von Microsoft
21:26, 25.4.2018 SL: Aber ich möchte meine eigenen Funktionen auch darin benutzen
21:26, 25.4.2018 SL: Also generiere ich mir eine Wortliste welche eine zusätzliche intellisense in diesem vendito anbietet
21:26, 25.4.2018 Julia: vendito?
21:26, 25.4.2018 SL: Viel besser innerhalb meines Windows Explorers navigieren können
21:26, 25.4.2018 SL: Meinen E-Mail schreiben automatisieren
...
21:27, 25.4.2018 SL: Man kann eben alles auslösen was man prinzipiell durch Programmierung auslösen kann
21:28, 25.4.2018 Julia: okay
21:28, 25.4.2018 SL: Anfangen würde man es wahrscheinlich hauptsächlich als Schreibhilfe
21:28, 25.4.2018 SL: Oder als Notizblock der einfach nur Text ohne jegliche Intelligenz enthält
21:30, 25.4.2018 Julia: das klingt gut
21:31, 25.4.2018 SL: Ich benutze es in jeder Anwendung die unter Windows läuft vermutlich
21:31, 25.4.2018 SL: Und auch auf vielen Webseiten
21:31, 25.4.2018 SL: Auch um einen DSL-Anschluss spontan um zu konfigurieren

User avatar
SL5
Posts: 330
Joined: 12 May 2015, 02:10
GitHub: sl5net
Contact:

Re: g_IntelliSense-everywhere

Post by SL5 » 28 Apr 2018, 09:14

added _globalWordLists\incDynAhk\helpOnline.ahk
added to _globalWordLists\_global.txt :

Code: Select all

help online|rr||ahk|run,..\_globalWordLists\incDynAhk\helpOnline.ahk
help online videos|rr||ahk|run,https://www.youtube.com/results?search_query=global+IntelliSense+everywhere
User avatar
SL5
Posts: 330
Joined: 12 May 2015, 02:10
GitHub: sl5net
Contact:

Re: g_IntelliSense-everywhere

Post by SL5 » 28 Apr 2018, 16:56

SL5 wrote:
r2997790 wrote:... Display on the hotstring only, not the whole string (perhaps a parameter to turn this on or off?), this would cut down the width of the intellisense popup which would really help me, ie. the string only before the first "|"
ok. works :)

thats a global config. planed: optional config for each line.

global g_regExReplaceInVisibleLine := "^([\w\d_-]+).*" ; show only first text , numers _ or -
global g_regExReplaceInVisibleLine := "^([^|]+).*" ; the string only before the first "|"
https://github.com/sl5net/global-Intell ... id.ahk#L32
new menu design/format (see screenshot):
global g_regExReplaceInVisibleLine := "^[_]*([^|\n]+)[^\.\n]*?([^|\n]{3,})$"
https://regex101.com/r/GQjPg0/1
Attachments
2018-04-28 23_46_51-Table awaiting Action.png
2018-04-28 23_46_51-Table awaiting Action.png (5.13 KiB) Viewed 1314 times
User avatar
SL5
Posts: 330
Joined: 12 May 2015, 02:10
GitHub: sl5net
Contact:

Re: g_IntelliSense-everywhere

Post by SL5 » 30 Apr 2018, 06:45

addet Feature
Fix versions Nightly-Build

if you trigger this action, it stops toggle lists if window title match this regex.

Code: Select all

stop changeing list|rr||ahk|g_config["list"]["change"]["stopRexExTitle"]:="."
dont changeing list|rr||ahk|
changeing list off|rr||ahk|
set changeing list off|rr||ahk|

start changeing list automatically|rr||ahk|g_config["list"]["change"]["stopRexExTitle"]:=false
changeing list automatically|rr||ahk|
changeing list automatically on|rr||ahk|
set changeing list automatically on|rr||ahk|
Type Feature
State Fixed
Subsystem action
Fix versions Nightly-Build
User avatar
SL5
Posts: 330
Joined: 12 May 2015, 02:10
GitHub: sl5net
Contact:

Re: g_IntelliSense-everywhere

Post by SL5 » 10 Jun 2018, 08:50

There is a plugin addet for telegram chat user.
it set the chat partner name into the title of the chat app:
https://raw.githubusercontent.com/sl5ne ... legram.ahk
Maher

Re: g_IntelliSense-everywhere

Post by Maher » 19 Jun 2018, 05:16

Great script thank you

How do you choose if there is more than 10 suggestions ?
Guest

Re: g_IntelliSense-everywhere

Post by Guest » 19 Jun 2018, 14:01

Maher wrote:Great script thank you

How do you choose if there is more than 10 suggestions ?
Thanks. I will put this to do list. I never got this Problem. If i have more then 10 i keep on typing. So numer 12 becomes Nummer 9or so
Post Reply

Return to “Scripts and Functions”