unofficial mirror of help-gnu-emacs@gnu.org
 help / color / mirror / Atom feed
From: Tomas Nordin <tomasn@posteo.net>
To: Rock Storm <rockstorm@gmx.com>
Cc: help-gnu-emacs@gnu.org
Subject: Re: Python docstring folding
Date: Mon, 26 Nov 2018 18:04:08 +0100	[thread overview]
Message-ID: <87zhtvvkhj.fsf@fliptop.i-did-not-set--mail-host-address--so-tickle-me> (raw)
In-Reply-To: <20181120191658.GB2480@rockop>

Rock Storm <rockstorm@gmx.com> writes:

> On Tue, Nov 20, 2018 at 10:12:03AM -0800, Drew Adams wrote:
>> > I'm struggling with code folding. I installed
>> > 'outline-magic'. Which works great but it doesn't
>> > fold docstrings... Is there an easy way to achieve
>> > docstring folding?
>> 
>> What do you mean by folding doc strings?  What do you
>> want that it doesn't do?
>
> The behaviour I was expecting would be something similar to what this
> plugin does [1].  
>
>  [1]: https://github.com/alecthomas/SublimeFoldPythonDocstrings
>
>> If you just want to toggle whether doc strings (only)
>> are hidden, see this:
>> 
>> http://lists.gnu.org/archive/html/help-gnu-emacs/2018-11/msg00115.html
>
> Thanks a lot for the hint. I'll try that. However, isn't there a less
> complicated way of doing it? Is it so uncommon? How did Python
> developers live before you provided them with this? :P

If it is OK to "simply" split windows maybe this is less complicated to
install:

(defun tn-split-window-signature-on-top (&optional numlines)
  "Split window at point leaving minimum 2 lines of defun beginning on top"
  (interactive "p")
  (let ((start-pos (point))
        (start-line (line-number-at-pos))
        (toplines (if (> numlines 1) numlines 2)))
    (beginning-of-defun)
    (split-window-below (1+ toplines))
    (window-resize nil (- toplines (window-body-height)))
    (recenter 0)
    (other-window 1)
    (goto-char start-pos)
    (recenter 0)))

Should work with any function understood as a defun. You can control how
much of the beginning of the defun to show with a numeric prefix
argument (like C-u). I find it comfortable that point will remain on its
current position in the lower window (at the moment you forgot about
arguments).

Best regards
--
Tomas



      reply	other threads:[~2018-11-26 17:04 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-11-20 17:45 Python docstring folding Rock Storm
2018-11-20 18:12 ` Drew Adams
2018-11-20 19:16   ` Rock Storm
2018-11-26 17:04     ` Tomas Nordin [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87zhtvvkhj.fsf@fliptop.i-did-not-set--mail-host-address--so-tickle-me \
    --to=tomasn@posteo.net \
    --cc=help-gnu-emacs@gnu.org \
    --cc=rockstorm@gmx.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).