Code Monkey home page Code Monkey logo

elec-pair-extra's Introduction

elec-pair-extra

Apply extra rules to alter elec-pair behaviors. Inspired greatly by twlz0ne, SEE discussion

Customization

  • elec-pair-extra-rules
A alist of major-mode and related rule. Each element is in the form of

(MODE :pair    ( CHAR/(CHAR . PAIR-CHAR) ...)
      :inhibit ( CHAR/(CHAR . REGEXP/FUNCTION) ...)).

MODE: A major mode.

CHAR: A character to match the input. for example: ?{

(CHAR . PAIR-CHAR): A pair of paired character. for example: (?{ . ?})

(CHAR . REGEXP): A character to match input, a regex pattern for inhibit
                 predicate by `looking-back'. for example: (?{ . \":{\")

(CHAR . FUNCTION): A character to match input, a function accept the input
                   as parameter for inhibit predict. for example:
                   (?{ . (lambda (_c) (eq ?: (char-before (1- (point))))))

Usage

(require 'elec-pair-extra)
(add-hook 'after-init-hook #'elec-pair-extra-setup)

;; set rules for major-mode
(setq elec-pair-extra-rules
      '(;; enable <> auto pair for generics usage in typescript, disable pair
        ;; when ?< following a space
        (typescript-ts-mode :pair ((?\< . ?\>)) :inhibit ((?\< . " <")))
        ;; disable pair <> in HTML+JS submode in mhtml-mode
        (mhtml-mode :pair nil :inhibit ((?\< . (lambda (c)
                                                 (and (eq major-mode 'js-mode)
                                                      (= c ?<))))))))

elec-pair-extra's People

Contributors

liuyinz avatar

Stargazers

Mohammed Zeglam avatar

Watchers

 avatar  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.