Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Nice! My two-minute thought on your idea, I refactored your code somewhat:

    ;;; test.el ---                                      -*- lexical-binding: t; -*-

    Don't know if it's useful in practice, but if we had multiline comments, we
    could add invisible property on those markers to auto-hide them. Interlaced with
    Emacs Lisp code, it gives a "feel" of literate programming.

    (defun cursed-elisp-block-comment (beg end)
      (interactive "r")
      (save-excursion
        (let ((start (format "#@%d " (+ (- end beg) 2))))
          (goto-char end)
          (insert "\037")
          (put-text-property end (1+ end) 'invisible t)
          (goto-char beg)
          ;; account for space and terminator
          (insert start)
          (put-text-property beg (+ beg (length start)) 'invisible t))))

    (defun make-visible (beg end)
      (interactive "r")
      (remove-text-properties beg end '(invisible t)))

    This file is a little demo of the concept, but to actually be useful, there
    should probably be some routine to automatically mark text paragraphs with
    invisible markers, since it is a bit labourous to do it by hand for each
    paragraph. Surprisingly, indentation engine didn't complain at all, while
    font-lock of course does not know I am in a comment.

    (message "hello multiline comments")

    (provide 'test)
    ;;; test.el ends here
Above file evaled as emacs-lisp buffer:

https://postimg.cc/SnfNNfyh



Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: