spacemacs/layers/+tools/rebox
syl20bnr ebe4c60264 Revert "Defer packages by default using use-package-always-defer"
This reverts commit 29c78ce841 and all other fixes
that have been made afterwards.

The motivation is that use-package is seen by many as a replacement for
`require`. Is use-package always defer the loading of packages then is breaks
this use case, this does not respect POLA so even if it was making Spacemacs
loading faster (up to 3s faster on some startup on my machine) we just cannot
use it, it would be irresponsible. Spacemacs should be easy to use, loading
performance will come with time but it is not a priority.
2018-03-03 23:40:10 -05:00
..
config.el Happy New Year 2018! 2018-01-04 02:00:25 -05:00
funcs.el Happy New Year 2018! 2018-01-04 02:00:25 -05:00
packages.el Revert "Defer packages by default using use-package-always-defer" 2018-03-03 23:40:10 -05:00
README.org Fixed feature header 2017-08-29 20:00:44 +03:00

Rebox layer

Description

This layer adds support for rebox2 package which is a minor-mode allowing to easily add ASCII text boxes to a buffer.

A nice video demonstration by the package author can be found here.

Features:

  • Auto-wrap correctly in comments,
  • Auto-fill correctly in comments,
  • Boxes auto-adapt as text is inserted or deleted,
  • S-RET to continue a comment on the next line,
  • Kill/yank within the box,
  • Apparently works well with ancient filladpt-mode (see authors video).

Install

Layer

To use this configuration layer, add it to your ~/.spacemacs. You will need to add rebox to the existing dotspacemacs-configuration-layers list in this file.

Configuration

Styles cycling

Box styles are identified by numbers, it is possible to cycle through a list of styles using SPC x b n. This list can be customized by setting the variable rebox-style-loop.

(setq rebox-style-loop '(71 72 73))

Text mode

As text mode usage could surprise some users (e.g., when they enter M-q to fill a paragraph) rebox is not enabled by default in text-mode. To enable it you need to set the layer variable rebox-enable-in-text-mode to t.

(setq-default dotspacemacs-configuration-layers '(
    (rebox :variables rebox-enable-in-text-mode t)))

Style Templates

Standard packaged templates

You can find the full list of templates in "Box templates" section of rebox2.el

Comments

These templates are single line comments styles. A # is used here for illustration; however, it will work equally well if the comment character is different (e.g., lisp's ; comment character).

Additional Templates

These templates are added by the Spacemacs layer.

  #
  # box style 71
  #

  # ------------
  # box style 72
  # ------------

  # ============
  # box style 73
  # ============

  #--------------
  # box style 74
  #--------------

  #--------------+
  # box style 75
  #--------------+

  #==============
  # box style 76
  #==============

  ##
  ## box style 81
  ##

  ## ------------
  ## box style 82
  ## ------------

  ## ============
  ## box style 83
  ## ============

  ##--------------
  ## box style 84
  ##--------------

  ##--------------+
  ## box style 85
  ##--------------+

  ##==============
  ## box style 86
  ##==============

Key bindings

Note: Use a numerical prefix argument to choose a specific style for instance 86 SPC x b b to use the style 86 above.

Keybinding Command
SPC x b > Move box to the right (point must be around left side of the box)
SPC x b < Move box to the left (point must be around left side of the box)
SPC x b b Draw next box defined in rebox-style-loop
SPC x b B Draw previous box defined in rebox-style-loop
SPC x b c Center box (point must be around left side of the box)
S-RET rebox-indent-new-line