[Eric] Dedent of def in classes?

Detlev Offenbach detlev at die-offenbachs.de
Tue Jan 6 18:17:19 GMT 2009


Ok, I got you. I'll add it to the todo list for 4.3.

Regards,
Detlev

On Dienstag, 6. Januar 2009, Geert Vancompernolle wrote:
> Detlev Offenbach wrote:
> > On Freitag, 2. Januar 2009, Geert Vancompernolle wrote:
> >> Hi,
> >>
> >> When selecting "Settings | Preferences... | Editor | Typing", you can
> >> select to configure typing for Python and Ruby.  When selecting Python,
> >> you have the option to chose for automatic dedents of "else/elif" and
> >> "except/finally".
> >>
> >> That same mechanism would be very handy for "def" when writing classes
> >> too, but  I can't find a way to do that.
> >
> > What should be the dedent criteria for this use case?
>
> I would say, the moment the 4 chars "def " are typed, one could dedend
> the line according the following criteria:
>
> "if there was a previous "def", the following "def" should start at the
> same column, else the "def" should start at column 1"
>
> This would catch 2 cases:
> * the "def" belongs to a class: this "def" would start 4 char locations
> to the right, compared to the column the class was started.  Subsequent
> "def" statements would start at the same indented column
> * the "def" is an isolated function: this "def" should start at column
> 1.  Subsequent "def" statements should also start at location 1, since
> they will also not be part of a class
>
> If the writer has defined a class with several "def" statements and he
> now wants to define an "isolated" "def", he can dedend by typing
> Shift-Tab (or whatever, to move the cursor to column 1).  From then
> onwards, al subsequent "def" statements would also start at location 1,
> until again a class is defined.
>
> I might overlook other situations, but this could be taken as a start.



-- 
Detlev Offenbach
detlev at die-offenbachs.de


More information about the Eric mailing list