[Geany-Devel] Smart tabs

Steven Blatnick steve8track at xxxxx
Wed Jul 17 14:44:59 UTC 2013


I haven't been following all of the details of the whole conversation, 
but I just wanted to throw in my two cents:

I like how geany already keeps the indentation of the previous line and 
unindents with a single backspace independent of if the file is using 
tabs or spaces.

Any custom formatting-as-you-go I hope is only enable-able, perhaps 
that's why it would be best suited as a plugin.  Weather that plugin is 
in the core plugins or geany-plugins doesn't matter to me.  One of the 
reasons I like geany is because its editing consistently across the 
different languages.  I don't particularly like tools that automatically 
fix indentation as I type on curly braces or whatever.

Also, most IDEs and editors can fit into two groups: full feature that 
can be stripped down, simple with enable-able features.  I think of 
geany as the latter.  I much prefer enabling plugins and features as I 
learn them or want them, rather than having more things pre-enabled as 
Lex suggests below.

Anyway, that's just my food for thought.

Thanks,

Steve

On 07/17/2013 02:01 AM, Lex Trotman wrote:
>
>
>
> On 17 July 2013 16:53, Thomas Martitz 
> <thomas.martitz at student.htw-berlin.de 
> <mailto:thomas.martitz at student.htw-berlin.de>> wrote:
>
>     Am 17.07.2013 00:49, schrieb Thrawn:
>
>         Thomas Martitz wrote:
>
>             Bah, this "everything must be a plugin" really annoys me...
>             What's wrong with you accepting new code in the core?
>
>         Actually, I agree that custom indentation schemes are too
>         troublesome to include in core...
>         unless someone, somehow, has a spark of genius allowing them
>         to invent a perfect
>         one-scheme-fits-all approach. This idea - particularly the Lua
>         script - is far from that.
>
>
>     I didn't mean to suggest there is a one-scheme-fits-all solution.
>     The core can totally have customizations to a generic algorithm
>     (or even custom algorithms) on a per-language basis. What I
>     question is the enforcement (I perceive it as such) to introduce
>     all new functionality via (perhaps unreliable) plugins even if
>     essential core features (indentation is clearly one of them) are
>     concerned. There seems little, if any, consideration whether new
>     stuff should go into the core or plugins. The plugin approach is
>     the default and it seems hard to improve the core.
>
>
> Hi Thomas,
>
> There are two questions:
>
> 1. Should a general solution to language specific indentation go in 
> core, most definitely yes, when we know what that is !!!
>
> So far such a solution has not been found, Colomban's regex prototype 
> was closest but still had a high proportion of incorrect results 
> leading to the conclusion that the approach was not capable enough.
> Implementing a bad approach in core and then having to try to 
> fix/expand or replace it is just a waste of time.
>
> So as I said trying out indentation schemes in plugins makes it easier 
> to replace them (but the user can always still use the old one if they 
> like it better, they can't do that with in-core code that has been 
> removed).  There is a PR that demonstrates that plugins can be 
> autoloaded by filetypes, so each plugin only needs to do one language, 
> making them simpler and easier to get right.
>
> Then it will be possible to identify commonality that is suitable for 
> implementing in core.
>
> 2. Should this particular function Thrawn is offering be in core? 
>  Since it is limited to one situation in one language (or group of {} 
> languages) and he wants to implement it in Lua, no.
>
>
>     Plugins are nice, but still not ideal. The authors might not be
>     dependable, the code quality can be bad, they are not
>     automatically loaded (which is I guess the point of them, however
>     it means that users cannot not be automatically exposed to new
>     functionality) and there's non-zero overhead in both memory usage
>     and performance. The first two obviously don't apply for plugins
>     that ship with Geany.
>
>
> Now that you mention it, there is probably no reason why we could not 
> default enable some of the plugins shipped with geany, its just having 
> the settings in the default config file.  And possibly some more 
> plugins could move to core (+1 for Enrico's Addons TODO for example :)
>
> Note that it is probable that Geany core could provide some more 
> support for plugin indentation, but as yet nobody is sure what that 
> consists of.
>
> Cheers
> Lex
>
>
>     Best regards.
>
>     _______________________________________________
>     Devel mailing list
>     Devel at lists.geany.org <mailto:Devel at lists.geany.org>
>     https://lists.geany.org/cgi-bin/mailman/listinfo/devel
>
>
>
>
> _______________________________________________
> Devel mailing list
> Devel at lists.geany.org
> https://lists.geany.org/cgi-bin/mailman/listinfo/devel

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.geany.org/pipermail/devel/attachments/20130717/6aec8753/attachment.html>


More information about the Devel mailing list