;ELC   
;;; Compiled
;;; in Emacs version 25.3.1
;;; with all optimizations.

;;; This file uses dynamic docstrings, first added in Emacs 19.29.

;;; This file does not contain utf-8 non-ASCII characters,
;;; and so can be loaded in Emacs versions earlier than 23.

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


(byte-code "\303\304!\210\305\306\211\203\" 	@\307\310\n\311\312E\"\210)T	A\211\204\f *\303\207" [it-index #:list it require smartparens (elixir-mode) 0 add-to-list sp-sexp-suffix regexp ""] 6)
#@184 Return non-nil if the "do" keyword is part of definition.

ID is the opening delimiter.

Definitions are the constructions of the form defmodule-do-end,
def-do-end and similar pairs.
(defalias 'sp-elixir-def-p #[(id) "\212\301\232\205 \302 \210\303\304!)\207" [id "do" back-to-indentation looking-at "\\(?:c\\(?:ase\\|ond\\)\\|def\\(?:m\\(?:acrop?\\|odule\\)\\|p\\)?\\|for\\|if\\|quote\\|receive\\|try\\|unless\\|with\\)"] 2 (#$ . 611)])
#@49 Test if "do" is part of definition.
MS, MB, ME.
(defalias 'sp-elixir-skip-def-p #[(ms mb me) "\301!\207" [ms sp-elixir-def-p] 2 (#$ . 1057)])
#@68 Insert "do" keyword and indent the new block.
ID, ACTION, CONTEXT.
(defalias 'sp-elixir-do-block-post-handler #[(id action context) "\302=\205( \303 \212\304v\210	`\304\223\210)\212\305 \210)\212\306c\210)\307\310 	\"\210	\304\211\223)\207" [action m insert make-marker nil newline " do" indent-region line-beginning-position] 3 (#$ . 1206)])
#@119 Insert empty "do" keyword and indent the new block.

This is used for receive-do-end expression.
ID, ACTION, CONTEXT.
(defalias 'sp-elixir-empty-do-block-post-handler #[(id action context) "\302=\2051 \303 \212\304v\210	`\304\223\210)\212\305y\210\304\210\306c\210)\212\307 \210)\310\311 	\"\210\312 \210	\304\211\223)\207" [action m insert make-marker nil -1 " do" newline indent-region line-beginning-position indent-according-to-mode] 3 (#$ . 1558)])
(byte-code "\301\302\303\304\305\306\307\310&\210\302\311\304\305\312\313\314\315\316&	\210\302\317\304\305\320\313\321\315\322&	\210\302\323\304\305\324\313\325\315\326&	\210\302\327\304\305\330\313\331&\210\302\332\304\305\333\313\334\315\335&	\210\302\336\304\305\337\313\340\315\341&	\210\302\342\304\305\343\313\344\315\345&	\210\302\346\304\305\347\313\350&\210)\351\352!\207" [#:modes elixir-mode sp-local-pair "do" "end" :when (("SPC" "RET" "<evil-ret>")) :skip-match sp-elixir-skip-def-p "def" (("SPC" "RET" "<evil-ret>")) :post-handlers (sp-elixir-do-block-post-handler) :unless (sp-in-comment-p) "defp" (("SPC" "RET" "<evil-ret>")) (sp-elixir-do-block-post-handler) (sp-in-comment-p) "defmodule" (("SPC" "RET" "<evil-ret>")) (sp-elixir-do-block-post-handler) (sp-in-comment-p) "fn" (("SPC" "RET" "<evil-ret>")) ("| ") "if" (("SPC" "RET" "<evil-ret>")) (sp-elixir-do-block-post-handler) (sp-in-comment-p) "unless" (("SPC" "RET" "<evil-ret>")) (sp-elixir-do-block-post-handler) (sp-in-comment-p) "case" (("SPC" "RET" "<evil-ret>")) (sp-elixir-do-block-post-handler) (sp-in-comment-p) "receive" (("RET" "<evil-ret>")) (sp-elixir-empty-do-block-post-handler) provide smartparens-elixir] 10)
