[Geany-Users] [patch] Improved brackets completion

Lex Trotman elextr at xxxxx
Sat Apr 6 01:30:56 UTC 2013


Hi again,

After a *quick* look at your code, some more comments below.


On 6 April 2013 06:04, Pavel Roschin <roshin at scriptumplus.ru> wrote:

> Hello!
>
> I'm currently working on patch (not plugin) that may improve current
> brackets auto-closing. Patch is under construction but I hope for
> feedback - may be you are interesting in some on those features in
> geany and may be you have some ideas how to do it better.
>
> Already implemented features. To use it all, enable all brackets
> completion in preferences.
>
> * auto-complete second char for: {, [, (, ", ' as geany does (rewritten
>   logic)
> * disable brackets auto-completion inside strings and comments
> * delete second completed char if you pressed BackSpace
>

To be clear, actually deletes *both* the opening and closing, makes more
sense.


> * suppress inserting one char twice (if you type "{}" you will get
>   "{}", not "{}}")
> * wrap selected text into brackets instead of removing selection
>   (select text and type "(" or ")" to wrap selection into "()")
> * keep selection in cause of wrapping
> * for C-like languages wrapping selection into "{}" makes
>   auto-indentation (select text and type "{" or "}" - text will be
>   wrapped and indented)
> * {}-wrapper moves cursor to beginning (before first "{"
> * for C-like languages to insert {}-block you do not need to select
>   text precisely: geany detects boundaries automatically, just ensure
>   that selection covers lines you need to indent (works like TAB
>   indentation)
> * fix auto-indent inside {} for C-like languages (makes full indent for
>   this block)
> * auto-close functions ("sin(|" -> "sin(|);") with double-chars
>   suppression (for C only)
>

Why are you putting a semicolon? that leaves characters to delete when the
user is trying to type "if( getc() == 'a'  )return" or "sin(x)+cos(y)".
 The assumption that a function call is the end of a statement is a bad one.


>
> Patch itself and planning features you will find on my github:
> https://github.com/scriptum/geany-patches/
>
> I also planning to move all brackets logic from editor_notify to GTK's
> key-press-event because of lack of features in editor_notify events. Is
> it possible? I tried it and seems that it works fine...
>

What do you need that you don't currently have in notify?

Cheers
Lex



>
> --
> Pavel aka RPG
> _______________________________________________
> Users mailing list
> Users at lists.geany.org
> https://lists.geany.org/cgi-bin/mailman/listinfo/users
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.geany.org/pipermail/users/attachments/20130406/5734552c/attachment.html>


More information about the Users mailing list