User to user discussion and support for UltraEdit, UEStudio, UltraCompare, and other IDM applications.

Syntax highlighting, code folding, brace matching, code indenting, and function list
4 posts Page 1 of 1
Hi, block selection behaves well, except for strings inside ( ) and some cases of multiline strings
Do you think my settings are flawed, or is it working that way at your place, too?

Switch to SQL language highlighting. PLSQL wordfile settings:

/Open Brace Strings = "("
/Close Brace Strings = ")"

Code: Select all
select ((((( select max(123) as ctr_b_here_is_ok from dual ))))) as ok from dual
;

select 1 as not_ok from dual
where (dummy in ('ctr_b_over_following_comma_is_ok', 'ctrl+B inside string here selects block after this line'))
  OR  (dummy > (select max('ctr_b_left_or_right_from_this_string_is_ok') from dual))
;

select '
(((
((aaaaaaaa ''ctr_b_here_is_ok''))
)))' as klammerstring_ok  from dual
;

select '(((
((aaaaaaaa ''ctr_b_here_selects_up_to_this_line_only_and_ignores_rest_of_file''))
)))
' as klammerstring_not_ok  from dual
;

select '(((((aaaaaaaa ''ctrl+B inside string here selects block in following line, ok so'')))))' as klammerstr from dual
;

select ((((( ctr_b_here_is_ok))))) as ok from (select 1234 as ctr_b_here_is_ok from dual)
;

/* Switch to C/C++ language highlighting, experience is the about the same: */

Code: Select all
{
  {
    s = "ctr_b_here_is_ok";
    s = "sadf(asdf,asdf)ctr_b_here_is_ok_too";
    s = "sadf{ asdf } ctr_b_here_is_ok_too";
  }
}
{
    f( "ctr_b_over_following_comma_is_ok", "ctrl+B inside string here selects block after this line");
    g(ctr_b_here_is_ok, ctr_b_here_is_ok, ctr_b_here_is_ok)
    h( "ctrl+B inside string here selects nothing
    ctr_b_here_is_ok",
    "ctrl+B inside string here selects nothing
    ()
    bad
    ctrl+B inside string here selects block after this line");
    s = "ctr_b_here_is_ok";
    c = 'a'; // ok
    n = ((a+ctr_b_here_is_ok)*(c+d))/2;
    s = "ctr_b_here_is_ok";n = ((a+ctr_b_here_is_ok)*(ctr_b_here_is_ok+d))/2;
    c = 'a'; n = ((a+ctr_b_here_is_ok)*(c+d))/2;
}
Regards from Vienna
I can see the same Select to Matching Brace behavior as you using UltraEdit v22.20.0.49 on Windows XP and of course also with UE v24.00.0.53 on Windows 7.

Interesting for me was to see that changing the line

Code: Select all
f( "ctr_b_over_following_comma_is_ok", "ctrl+B inside string here selects block after this line");

to

Code: Select all
f( "ctr_b_over_following_comma_is_ok", "ctrl+B inside string here selects block after this line"
);

by hitting key RETURN before closing parenthesis and pressing Ctrl+B with caret inside second string results in matching the block from opening parenthesis after f to closing parenthesis on next line.

But pressing Ctrl+B inside the second string with closing parenthesis on same line always selects the block after g on next line independent on what exists between end of second string and ) for f(...) statement. That is really weird and should be reported to IDM support by email (not done by me).
Best regards from Austria
Bug report e-mail sent to IDM
1/ block selection (to Brace pair) behaves well, except for strings inside ( ) and some cases of multiline strings.
+ examples from abpve post
2/ “Select to Matching Brace” does not exist as an option in the context menu nor in the main menu Edit/Select
Regards from Vienna
Thanks for reporting the select to matching brace issue.

The command is Search - Select to matching brace on using traditional menus available since UE for Windows v23.20 and UEStudio v16.20.

The command is Coding - Select to brace on using contemporary menus (UE v23.00+ and UES v16.00+).

In ribbon mode the command is also Coding - Select to brace (UE v23.00+ and UES v16.00+).

The document window context menu is customizable since UE or Windows v24.00 and UES v17.00 like it was prior UE v23.00 and UES v16.00. The command Select to brace from category Coding can be added by every user to the context menu.
Best regards from Austria
4 posts Page 1 of 1
cron