wiki:Features/Brackets

Version 9 (modified by bowtie, 4 years ago) (diff)

--

PadreWikiFeaturesBrackets Draft

Bracket or brace matching and completion

When the cursor reaches an opening or closing brace { }, square bracket [ ] or parentheses ( ), Padre automatically highlight the pair of the braces.

    ()    # Brackets
    []    # Square Brackets
    {}    # Braces
    ''    # Single-Quoted String Literals
    ""    # Double-Quoted String Literals
  • brace implies (Brackets, Square Brackets & Braces)

Perl -> Find Unmatched Brace (brace)

Initial observations,

  • works in current editor, does not require the file to be saved :)
  • highlights the last unmatched ;-(
  • I think it must be counting charter types, with little reference to Perl syntax ;-(

This file passes, this is rubbish ;-((

#!/usr/bin/perl
# based on 03_Good_Morning.pl
# This file assumes that you already read (and understood) earlier sessions!

use strict; # This will be discussed later
use warnings;
### line 7 added [
my [( $sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst ) = localtime( time() );

if ( $hour < 10 ) { print "Good morning!\n"; }

elsif {( $hour == 12 ) { print "Out for lunch...\n"; }} ### added {}
elsif ( $hour <= 18 ) { print "Hello world!\n"; }]  ### line 13 added ]
elsif (( $hour < 23 )  { print "Good night.\n"; })  ### added ()

else { print "sleep well!\n;" }

run against Padre r14200

Opps should have run the Syntax Checker first, or should I


  • the editor appears to highlight matching braces in luminous green :)

Edit-> Brace Matching (brace) Ctrl+1

  • moves the cursor for you
    • If the cursor is outside a brace, it matches to the outside of it's pair. either forward or backwards :)
    • If the cursor is inside a brace, it matches to the inside of it's pair. either forward or backwards :)

Q, why is this on the menu and not just a keyboard shortcut!

Edit -> Select To Brace Matching (brace) Ctrl+4

  • Cool :)
  • Inside outside matching braces as above, and highlights selection for you :)
    • you still need to explicitly copy to place selection on clipboard
    • X11 copy don't work

NB the above actions also work with "line 7 added [" & "line 13 added ]" hence we are treating brace behind a # comment as active ;-((


Perl -> Find Unmatched Brace (brace)

  • Checkes for a lone single brace
  • appears to work, but in following code in stead of highlighting }#odd brace not found, highlights my [( $sec on the preceding line.
#!/usr/bin/perl
# based on 03_Good_Morning.pl
# This file assumes that you already read (and understood) earlier sessions!

use strict; # This will be discussed later
use warnings;
### line 7 added [
my [( $sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst ) = localtime( time() );
} #odd brace not found
if ( $hour < 10 ) { print "Good morning!\n"; }

elsif {( $hour == 12 ) { print "Out for lunch...\n"; }} ### added {}
elsif ( $hour <= 18 ) { print "Hello world!\n"; }]  ### line 13 added ]
elsif (( $hour < 23 )  { print "Good night.\n"; })  ### added ()

else { print "sleep well!\n;" }
  • Q are we are using more than one algorithm to do brace

Tools -> Preferences -> Behaviour

  • the image below shows a composite of the pertinent information.

prefs_braces

Auto-complete Brackets

  • When checked, if you type an opening brace or String Literal, you get the closing inserted immediately after for you.

Add another closing bracket

  • appears to be superfluous

Tickets

Ticket Resolution Summary Owner Reporter
#1090 Autocomplete bracket with indentation szabgab
#486 Undo after auto-complete matching bracket doesn't undo the closing bracket Sewi
#236 fixed Add auto completitions of brackets when first bracket is typed claudio claudio

TO DO

  • make this optional, let the user set the colour

Attachments (1)

Download all attachments as: .zip