elisp: SMIE Customization
22.7.1.9 Customizing Indentation
................................
If you are using a mode whose indentation is provided by SMIE, you can
customize the indentation to suit your preferences. You can do this on
a per-mode basis (using the option ‘smie-config’), or a per-file basis
(using the function ‘smie-config-local’ in a file-local variable
specification).
-- User Option: smie-config
This option lets you customize indentation on a per-mode basis. It
is an alist with elements of the form ‘(MODE . RULES)’. For the
precise form of rules, see the variable’s documentation; but you
may find it easier to use the command ‘smie-config-guess’.
-- Command: smie-config-guess
This command tries to work out appropriate settings to produce your
preferred style of indentation. Simply call the command while
visiting a file that is indented with your style.
-- Command: smie-config-save
Call this command after using ‘smie-config-guess’, to save your
settings for future sessions.
-- Command: smie-config-show-indent &optional move
This command displays the rules that are used to indent the current
line.
-- Command: smie-config-set-indent
This command adds a local rule to adjust the indentation of the
current line.
-- Function: smie-config-local rules
This function adds RULES as indentation rules for the current
buffer. These add to any mode-specific rules defined by the
‘smie-config’ option. To specify custom indentation rules for a
specific file, add an entry to the file’s local variables of the
form: ‘eval: (smie-config-local '(RULES))’.