Am I too dumb or is UDL 2.x buggy?



  • Have a hard time to get UDL what I want it to.
    I tried my own language … and no matter what it ignored all and any try of mine to use brackets like { [ or ( to fold in …
    It either does nothing … or it does not fold in the line it supposed to fold:

    e.g. (only setting … everything else is empty style is manually assigned to file)
    Folding in code 1 style -> open -> { ; close -> }
    file:

    {
    	"Software"
    [something]
    }
    {
    [some other things]
    }
    

    result after folding (not “[alt] +0”, but clicking the folder icon next to line number):

    {
    	"Software"
    

    expected result:

    {
    {
    [some other things]
    }
    

    And in AHK e.g. (imported … and then modified) I can get it to work to fold the stuff between { and } but if I try to fold if as well … with the key words … open: if ; middle: "else if" else ; close: } … it doesn’t fold away else if as part the whole if block … and it doesn’t stop at the } either …
    (if I fold the last if or the last else if … it folds the whole file from that despite the if block in {} and many } after)
    example:

    do_stuff:
    	if A_Hour = 0 
    	{
    		start_time := 22
    		end_time := 23
    	}
    	else if A_Hour = 1 
    	{
    		start_time := 23
    		end_time := 0
    	}
    	else if A_Hour > 1 
    	{
    		start_time := A_Hour -2
    		end_time := A_Hour -1
    	}
    	loop
    	{
    		;some stuff is in here only deleted in this example
    	}
    return
    ;some other stuff / routines
    

    result:

    do_stuff:
    	if A_Hour = 0 
    	else if A_Hour = 1 
    	else if A_Hour > 1 
    

    expected result:

    do_stuff:
    	if A_Hour = 0 
    	loop
    	{
    		;some stuff is in here only deleted in this example
    	}
    return
    ;some other stuff / routines
    

    if I leave out the"else if"part in middle the result is:

    do_stuff:
    	if A_Hour = 0 
    	else if A_Hour = 1 
    	else if A_Hour > 1 
    

    however the expected result is:

    do_stuff:
    	if A_Hour = 0 
    	else if A_Hour = 1 
    	else if A_Hour > 1 
    	loop
    	{
    		;some stuff is in here only deleted in this example
    	}
    return
    ;some other stuff / routines
    

    also wanted to (later after I gave up on if) to get it to use"as delimiter … but not if escaped with ` … it gladly ignores the `

    So … after this line:

    Loop, parse, A_LoopReadLine, %A_Tab%, `"
    

    everything is treated as in delimiter 2 … but it shouldn’t since it is escaped.
    also if I try to nest delimiter 2 in delimiter 1 … notepad ++ crashes … (and made me loose all my random notes I didn’t safe … I do never safe … since notepad ++ b/c usually restores them after restart … and also the latest edits of the files I am was working on … it did say it tried to safe stuff somewhere … but I didn’t catch where … not %appdata%\Notepad++\backup, though)

    I think I am doing it wrong … might be bugs, though


    P.S.: I fucking hate fucking markdown! It is the Plague of internet. Whoever came up with that concept deserves to be shot, drowned, beaded, exploded, burned at the stakes, hanged, drawn, quartered, and shot again! In that order … and probably at least twice.
    I can never do it what I want without breaking my fingers.

    Also in my code there isdo_stuff:formatted differently each time … for reasons … even though I copied it same way (and then deleted stuff two lines after … so it shouldn’t have any effects at all)


Log in to reply