Page 4 of 5

Posted: 05.03.2020 22:35
by Alexey
Is it good idea to remove special highlight of {...} in Inno lexer? It works not 100% ok, in complex strings like "test{dd}test{dd}test{dd}test" it will not handle all vars.
I want to remove these rules for {..} vars, users can use Highlight Variables plugin

Posted: 11.03.2020 12:12
by ANewUser
Sorry somehow I have not noticed the previous 2 posts!
I will examine the new things in the version 6.0.
As for the {...}, if it is not working reliable then remove it.

By the way the string type is not highlighted as other types. Maybe it is in a wrong group.

Posted: 11.03.2020 14:52
by ANewUser
for AHK lexer:
The function names must be followed immediately with (. So ex. the "if (true)" is not a function call.
https://i.imgur.com/dE4xPVX.png

Code: Select all

; missing the "#include" directive
#include abcfile.ahk

; multi line string
; the opening ( can follow some options, so it has not to be at the line end
; before both the opening ( and closing ) can be spaces/tabs
; it is comparable to "var = ..." and not "var := ..." 
x = 
(
   string
   more strings
   line
)

; function declaration for code tree
; there is no space between the function name and the opening (
; the opening { can be on the same line as the name
; the name does not have to be at the first column
xyz(a,b)
{
   ; ...
}

; class declaration for code tree
; the opening { can be on the same line as the name
; the name does not have to be at the first column
class abc
{
   ; ...
}

Posted: 11.03.2020 14:53
by Alexey
Inno:
'string' style fixed, removed support for {...} in string. lexer update in next 20min.

Posted: 11.03.2020 15:07
by Alexey
AHK: fixed all, multiline str is added (I don't check for = sign, only for () on separate lines)
lexer update in next 10min.

Posted: 11.03.2020 15:41
by ANewUser
Thank you!
The code tree is meant for listing declarations only or for listing every occurence/usage?

Posted: 11.03.2020 16:22
by Alexey
It depends, usually for declaration only

Posted: 23.04.2021 18:03
by king.midas
Hello!

In AHK lexer "empty parameters functions" does not add to code tree. Problem in CudaText and SynWrite
Sample:

Code: Select all

func1(s) {}
func2() {}
https://i.imgur.com/WMlzp5v.png

Posted: 23.04.2021 21:14
by uvviewsoft
fixed the AHK lexer, thanks for report. update in AddonManager and test.

Posted: 24.04.2021 08:32
by king.midas
Thank you very match!

After update found another bug:
Function calls with next block "{}" shows in tree. Sample:

Code: Select all

run_Editor()
{
    if ( IsWinVis(WinDesc) )
    {
        WinActivate, %WinDesc%
    }
    else if IsWinVis(WinDesc1)
    {
        WinActivate, %WinDesc%
    }
    else if WinExist(WinDesc)
    {
        WinRestore, %WinDesc% 
        ; WinShow, %WinDesc% 
        ; WinWait, %WinDesc%
        WinActivate, %WinDesc%
    }
    else
        Run("%PROGRAM_Editor%",,,,,1)
}
https://i.imgur.com/zHvjNy9.png