GithubHelp home page GithubHelp logo

hugo-heagren / outshine Goto Github PK

View Code? Open in Web Editor NEW

This project forked from alphapapa/outshine

0.0 0.0 0.0 770 KB

Org-mode for non-Org buffers

License: GNU General Public License v2.0

Emacs Lisp 100.00%

outshine's Introduction

Outshine

Outshine attempts to bring the look and feel of Org Mode to the world outside of the Org major-mode. It’s an extension of outline-minor-mode that should act as a replacement of Outline Mode. Just change all your calls to outline-minor-mode into outshine-mode.

Installation

MELPA

Simply install the outshine package from MELPA.

Quelpa

Installing directly with Quelpa into your Emacs config is also very easy:

  1. Install quelpa-use-package (which can be installed directly from MELPA).
  2. Add this form to your init file:
(use-package outshine
  :quelpa (outshine :fetcher github :repo "alphapapa/outshine"))

After installation, upgrading can be done through quelpa, e.g. with C-u M-x quelpa RET outshine RET.

Manual

Manual installation is not recommended because it’s difficult to keep up with changes. If you want to do this, you’ll have to install the elisp files and dependencies manually.

Usage

Keymap prefix

To enable the keybindings, you must set the variable outline-minor-mode-prefix (note the variable name carefully) before loading Outshine, e.g.:

(defvar outline-minor-mode-prefix "\M-#")

Activation

Activate outshine-mode in buffers in which you want to use it. You may add it to major mode hooks like so:

(add-hook 'emacs-lisp-mode-hook 'outshine-mode)

Commands

The extensions to outline-minor-mode aim to make its use similar to Org. Given a correctly structured outshine buffer, outline navigation, structure editing, and visibility cycling with outshine should make an Org user feel right at home.

Try C-h m (describe-mode) and C-h b (describe-bindings) in an outshine buffer to see the available functions and their keybindings.

Speed commands

The very useful Org speed commands are available in outshine. To activate them, customize the variable outshine-use-speed-commands. Call outshine-speed-command-help to get an overview of the commands and keybindings.

Terminal support

Emacs running on a terminal may have issues with M-up and M-down bindings. There used to be a hack in Outshine itself to get those to work, which was removed in https://github.com/alphapapa/outshine/commit/210cc88bf9ee2fca2a283e4de89d4abe849d706b.

(define-key input-decode-map "\e\eOA" [(meta up)])
(define-key input-decode-map "\e\eOB" [(meta down)])

If you experience issues with Emacs not recognizing these bindings when running in a terminal, adding these two lines to your init.el may help. You may need to adapt the escape sequences depending on the emulator you use.

Misc

  • imenu is supported with the command outshine-imenu.
  • Show the number of hidden lines in folded headlines with the command outshine-show-hidden-lines-cookies.
  • latex-mode commands:
    • outshine-latex-insert-header
    • outshine-latex-insert-headers-in-buffer
    • outshine-TeX-command-region-on-subtree.

Changelog

3.1-pre

Added

  • Add outshine-define-key macro for defining conditional key bindings (e.g. on headlines). Improves on previous outshine-define-key-with-fallback macro by interning a named function and matching the function signature of define-key.
  • Bind <backtab> to outshine-cycle-buffer on headlines

Fixed

  • More fully override Imenu configuration when using outshine-imenu. (#93. Thanks to Dan Kessler.)

Deprecated

  • Declare outshine-define-key-with-fallback as obsolete, use outshine-define-key instead

3.0 and earlier

dateauthor(s)version
<2018-12-30 Su>Thibault Polge3.0
<2018-10-24 We>(Various contributors)2.1
<2014-09-20 Sa>Thorsten Jolitz2.0
<2013-05-03 Fr>Thorsten Jolitz1.0
<2013-02-20 Mi>Thorsten Jolitz0.9

Credits

Outshine was originally authored by Thorsten Jolitz, based on outline-magic by Carsten Dominik (the creator of Org Mode) and out-xtra by Per Abrahamsen. Maintainership was transferred to Adam Porter in 2017. It was refactored to a minor mode and released as 3.0 by Thibault Polge in 2018.

License

GPLv2+

outshine's People

Contributors

acowley avatar alexvorobiev avatar alphapapa avatar brandm avatar damiencassou avatar dankessler avatar emacs18 avatar ffevotte avatar ggreif avatar hanche avatar jeffvalk avatar jgkamat avatar jleechpe avatar jocap avatar kaushalmodi avatar mahito1594 avatar purcell avatar syohex avatar tarsius avatar thblt avatar tj64 avatar trevors avatar vapniks avatar walseb avatar yryozo avatar yuhan0 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.