;ELC ;;; Compiled ;;; in Emacs version 28.0.50 ;;; with all optimizations. (byte-code "\300\301!\210\300\302!\210\300\303!\210\300\304!\210\300\305!\210\300\306!\210\300\307!\210\300\310!\210\300\311!\210\300\312!\210\300\313!\210\300\314!\210\300\315!\210\300\316!\210\300\317!\210\300\320!\210\300\321!\207" [require haskell-customize ansi-color dabbrev compile etags flymake outline cl-lib haskell-ghc-support haskell-complete-module haskell-align-imports haskell-lexeme haskell-sort-imports haskell-string haskell-indentation haskell-font-lock haskell-cabal] 2) #@40 The release version of `haskell-mode'. (defconst haskell-version "16.2-git" (#$ . 578)) #@119 Show the `haskell-mode` version in the echo area. With prefix argument HERE, insert it at point. (fn &optional HERE) (defalias 'haskell-version #[256 "\3011\302\303\304!\206\f\305!0\202\210\306\307\310#\203\211c\207\311\312\"\207" [haskell-version (error) file-name-directory locate-library "haskell-mode" "" nil format "haskell-mode version %s (%s)" message "%s"] 6 (#$ . 673) "P"]) #@56 Display information on recent changes to haskell-mode. (defalias 'haskell-mode-view-news #[0 "r\301\302\303\"!q\210eb\210\304\305!\210\306\305!\210\307 )\207" [haskell-mode-pkg-base-dir find-file-read-only expand-file-name "NEWS" outline-hide-sublevels 1 outline-next-visible-heading outline-show-subtree] 4 (#$ . 1075) nil]) #@439 If not nil, the current buffer contains a literate Haskell script. Possible values are: `bird' and `tex', for Bird-style and LaTeX-style literate scripts respectively. Set by `haskell-mode' and `haskell-literate-mode'. For an ambiguous literate buffer -- i.e. does not contain either "\begin{code}" or "\end{code}" on a line on its own, nor does it contain ">" at the start of a line -- the value of `haskell-literate-default' is used. (defvar haskell-literate nil (#$ . 1409)) (byte-code "\300\301!\210\302\301\303\304#\210\305\306\307\310\311DD\312\313\314\315\316&\207" [make-variable-buffer-local haskell-literate put safe-local-variable symbolp custom-declare-variable haskell-literate-default funcall function #[0 "\300\207" [bird] 1] "Default value for `haskell-literate'.\nUsed if the style of a literate buffer is ambiguous. This variable should\nbe set to the preferred literate style." :group haskell :type (choice (const bird) (const tex) (const nil))] 8) #@32 Keymap used in `haskell-mode'. (defvar haskell-mode-map (byte-code "\300 \301\302\303#\210\301\304\305#\210\301\306\307#\210\301\310\307#\210\301\311\307#\210\301\312\307#\210\301\313\307#\210\301\314\315#\210\207" [make-sparse-keymap define-key [3 67108908] haskell-mode-format-imports [remap delete-indentation] haskell-delete-indentation "\f" haskell-mode-enable-process-minor-mode "" "" "" " " "" haskell-mode-toggle-scc-at-point] 5) (#$ . 2387)) #@63 Tell the user to choose a minor mode for process interaction. (defalias 'haskell-mode-enable-process-minor-mode #[0 "\300\301!\207" [error "Run `C-h f haskell-mode` for instruction how to setup a Haskell interaction mode."] 2 (#$ . 2862) nil]) #@34 Menu for the Haskell major mode. (defvar haskell-mode-menu nil (#$ . 3112)) (byte-code "\301\302\303\304\305\306\307\310\311\307\312\307\313\314!\203\315\202\316\317BBBBBBBBBB$\207" [haskell-mode-map easy-menu-do-define haskell-mode-menu "Menu for the Haskell major mode." "Haskell" ["Indent line" indent-according-to-mode] ["(Un)Comment region" comment-region mark-active] "---" ["Start interpreter" haskell-interactive-switch] ["Load file" haskell-process-load-file] ["Load tidy core" ghc-core-create-core] default-boundp eldoc-documentation-function ["Doc mode" eldoc-mode :style toggle :selected (bound-and-true-p eldoc-mode)] ["Doc mode" haskell-doc-mode :style toggle :selected (and (boundp 'haskell-doc-mode) haskell-doc-mode)] (["Customize" (customize-group 'haskell)])] 15) (defvar haskell--char-syntax-symbols '((161 . 169) 172 (174 . 177) 180 (182 . 184) 191 215 247 (706 . 709) (722 . 735) (741 . 747) 749 (751 . 767) 885 894 (900 . 901) 903 1014 1154 (1370 . 1375) (1417 . 1418) (1421 . 1423) 1470 1472 1475 1478 (1523 . 1524) (1542 . 1551) 1563 (1566 . 1567) (1642 . 1645) 1748 1758 1769 (1789 . 1790) (1792 . 1805) (2038 . 2041) (2096 . 2110) 2142 (2404 . 2405) 2416 (2546 . 2547) (2554 . 2555) (2800 . 2801) 2928 (3059 . 3066) 3199 3449 3572 3647 3663 (3674 . 3675) (3841 . 3863) (3866 . 3871) 3892 3894 3896 3973 (4030 . 4037) (4039 . 4044) (4046 . 4058) (4170 . 4175) (4254 . 4255) 4347 (4960 . 4968) (5008 . 5017) 5120 (5741 . 5742) (5867 . 5869) (5941 . 5942) (6100 . 6102) (6104 . 6107) (6144 . 6154) 6464 (6468 . 6469) (6622 . 6623) (6624 . 6655) (6686 . 6687) (6816 . 6822) (6824 . 6829) (7002 . 7018) (7028 . 7036) (7164 . 7167) (7227 . 7231) (7294 . 7295) (7360 . 7367) 7379 8125 (8127 . 8129) (8141 . 8143) (8157 . 8159) (8173 . 8175) (8189 . 8190) (8208 . 8215) (8224 . 8231) (8240 . 8248) (8251 . 8260) (8263 . 8286) (8314 . 8316) (8330 . 8332) (8352 . 8381) (8448 . 8449) (8451 . 8454) (8456 . 8457) 8468 (8470 . 8472) (8478 . 8483) 8485 8487 8489 8494 (8506 . 8507) (8512 . 8516) (8522 . 8525) 8527 (8592 . 8703) (8704 . 8959) (8960 . 8967) (8972 . 9000) (9003 . 9210) (9216 . 9254) (9280 . 9290) (9372 . 9449) (9472 . 9599) (9600 . 9631) (9632 . 9727) (9728 . 9983) (9984 . 10087) (10132 . 10175) (10176 . 10180) (10183 . 10213) (10224 . 10239) (10240 . 10495) (10496 . 10623) (10624 . 10626) (10649 . 10711) (10716 . 10747) (10750 . 10751) (10752 . 11007) (11008 . 11123) (11126 . 11157) (11160 . 11193) (11197 . 11208) (11210 . 11217) (11493 . 11498) (11513 . 11516) (11518 . 11519) 11632 (11776 . 11777) (11782 . 11784) 11787 (11790 . 11803) (11806 . 11807) (11818 . 11822) (11824 . 11841) (11904 . 11929) (11931 . 12019) (12032 . 12245) (12272 . 12283) (12289 . 12292) (12306 . 12307) 12316 12320 12336 (12342 . 12343) (12349 . 12351) (12443 . 12444) 12448 12539 (12688 . 12689) (12694 . 12703) (12736 . 12771) (12800 . 12830) (12842 . 12871) 12880 (12896 . 12927) (12938 . 12976) (12992 . 13054) (13056 . 13311) (19904 . 19967) (42128 . 42182) (42238 . 42239) (42509 . 42511) 42611 42622 (42738 . 42743) (42752 . 42774) (42784 . 42785) (42889 . 42890) (43048 . 43051) (43062 . 43065) (43124 . 43127) (43214 . 43215) (43256 . 43258) (43310 . 43311) 43359 (43457 . 43469) (43486 . 43487) (43612 . 43615) (43639 . 43641) (43742 . 43743) (43760 . 43761) 43867 44011 64297 (64434 . 64449) (65020 . 65021) (65040 . 65046) 65049 (65072 . 65076) (65093 . 65094) (65097 . 65103) (65104 . 65106) (65108 . 65112) (65119 . 65126) (65128 . 65131) (65281 . 65287) (65290 . 65295) (65306 . 65312) 65340 (65342 . 65344) 65372 65374 65377 (65380 . 65381) (65504 . 65510) (65512 . 65518) (65532 . 65533) (65792 . 65794) (65847 . 65855) (65913 . 65929) 65932 (65936 . 65947) 65952 (66000 . 66044) 66463 66512 66927 67671 (67703 . 67704) 67871 67903 (68176 . 68184) 68223 68296 (68336 . 68342) (68409 . 68415) (68505 . 68508) (69703 . 69709) (69819 . 69820) (69822 . 69825) (69952 . 69955) (70004 . 70005) (70085 . 70088) 70093 (70200 . 70205) 70854 (71105 . 71113) (71233 . 71235) (74864 . 74868) (92782 . 92783) 92917 (92983 . 92991) (92996 . 92997) 113820 113823 (118784 . 119029) (119040 . 119078) (119081 . 119140) (119146 . 119148) (119171 . 119172) (119180 . 119209) (119214 . 119261) (119296 . 119361) 119365 (119552 . 119638) 120513 120539 120571 120597 120629 120655 120687 120713 120745 120771 (126704 . 126705) (126976 . 127019) (127024 . 127123) (127136 . 127150) (127153 . 127167) (127169 . 127183) (127185 . 127221) (127248 . 127278) (127280 . 127339) (127344 . 127386) (127462 . 127487) (127488 . 127490) (127504 . 127546) (127552 . 127560) (127568 . 127569) (127744 . 127788) (127792 . 127869) (127872 . 127950) (127956 . 127991) (128000 . 128254) (128256 . 128330) (128336 . 128377) (128379 . 128419) (128421 . 128511) (128512 . 128578) (128581 . 128591) (128592 . 128639) (128640 . 128719) (128736 . 128748) (128752 . 128755) (128768 . 128883) (128896 . 128980) (129024 . 129035) (129040 . 129095) (129104 . 129113) (129120 . 129159) (129168 . 129197))) (defvar haskell--char-syntax-identifiers '(170 (178 . 179) 181 (185 . 186) (188 . 190) (192 . 214) (216 . 246) (248 . 255) (256 . 383) (384 . 591) (592 . 687) (880 . 883) (886 . 887) (891 . 893) 895 902 (904 . 906) 908 (910 . 929) (931 . 1013) (1015 . 1023) (1024 . 1153) (1162 . 1279) (1280 . 1327) (1329 . 1366) (1377 . 1415) (1488 . 1514) (1520 . 1522) (1568 . 1599) (1601 . 1610) (1632 . 1641) (1646 . 1647) (1649 . 1747) 1749 (1774 . 1788) 1791 1808 (1810 . 1839) (1869 . 1871) (1872 . 1919) (1920 . 1957) 1969 (1984 . 2026) (2048 . 2069) (2112 . 2136) (2208 . 2226) (2308 . 2361) 2365 2384 (2392 . 2401) (2406 . 2415) (2418 . 2431) 2432 (2437 . 2444) (2447 . 2448) (2451 . 2472) (2474 . 2480) 2482 (2486 . 2489) 2493 2510 (2524 . 2525) (2527 . 2529) (2534 . 2545) (2548 . 2553) (2565 . 2570) (2575 . 2576) (2579 . 2600) (2602 . 2608) (2610 . 2611) (2613 . 2614) (2616 . 2617) (2649 . 2652) 2654 (2662 . 2671) (2674 . 2676) (2693 . 2701) (2703 . 2705) (2707 . 2728) (2730 . 2736) (2738 . 2739) (2741 . 2745) 2749 2768 (2784 . 2785) (2790 . 2799) (2821 . 2828) (2831 . 2832) (2835 . 2856) (2858 . 2864) (2866 . 2867) (2869 . 2873) 2877 (2908 . 2909) (2911 . 2913) (2918 . 2927) (2929 . 2935) 2947 (2949 . 2954) (2958 . 2960) (2962 . 2965) (2969 . 2970) 2972 (2974 . 2975) (2979 . 2980) (2984 . 2986) (2990 . 3001) 3024 (3046 . 3058) (3077 . 3084) (3086 . 3088) (3090 . 3112) (3114 . 3129) 3133 (3160 . 3161) (3168 . 3169) (3174 . 3183) (3192 . 3198) (3205 . 3212) (3214 . 3216) (3218 . 3240) (3242 . 3251) (3253 . 3257) 3261 3294 (3296 . 3297) (3302 . 3311) (3313 . 3314) (3333 . 3340) (3342 . 3344) (3346 . 3386) 3389 3406 (3424 . 3425) (3430 . 3445) (3450 . 3455) (3461 . 3478) (3482 . 3505) (3507 . 3515) 3517 (3520 . 3526) (3558 . 3567) (3585 . 3632) (3634 . 3635) (3648 . 3653) (3664 . 3673) (3713 . 3714) 3716 (3719 . 3720) 3722 3725 (3732 . 3735) (3737 . 3743) (3745 . 3747) 3749 3751 (3754 . 3755) (3757 . 3760) (3762 . 3763) 3773 (3776 . 3780) (3792 . 3801) (3804 . 3807) 3840 (3872 . 3891) (3904 . 3911) (3913 . 3948) (3976 . 3980) (4096 . 4138) (4159 . 4169) (4176 . 4181) (4186 . 4189) 4193 (4197 . 4198) (4206 . 4208) (4213 . 4225) 4238 (4240 . 4249) (4256 . 4293) 4295 4301 (4304 . 4346) (4349 . 4351) (4352 . 4607) (4608 . 4680) (4682 . 4685) (4688 . 4694) 4696 (4698 . 4701) (4704 . 4744) (4746 . 4749) (4752 . 4784) (4786 . 4789) (4792 . 4798) 4800 (4802 . 4805) (4808 . 4822) (4824 . 4880) (4882 . 4885) (4888 . 4954) (4969 . 4988) (4992 . 5007) (5024 . 5108) (5121 . 5740) (5743 . 5759) (5761 . 5786) (5792 . 5866) (5873 . 5880) (5888 . 5900) (5902 . 5905) (5920 . 5937) (5952 . 5969) (5984 . 5996) (5998 . 6000) (6016 . 6067) 6108 (6112 . 6121) (6128 . 6137) (6160 . 6169) (6176 . 6210) (6212 . 6263) (6272 . 6312) 6314 (6320 . 6389) (6400 . 6430) (6470 . 6479) (6480 . 6509) (6512 . 6516) (6528 . 6571) (6593 . 6599) (6608 . 6618) (6656 . 6678) (6688 . 6740) (6784 . 6793) (6800 . 6809) (6917 . 6963) (6981 . 6987) (6992 . 7001) (7043 . 7072) (7086 . 7103) (7104 . 7141) (7168 . 7203) (7232 . 7241) (7245 . 7247) (7248 . 7287) (7401 . 7404) (7406 . 7409) (7413 . 7414) (7424 . 7467) (7531 . 7543) (7545 . 7551) (7552 . 7578) (7680 . 7935) (7936 . 7957) (7960 . 7965) (7968 . 8005) (8008 . 8013) (8016 . 8023) 8025 8027 8029 (8031 . 8061) (8064 . 8116) (8118 . 8124) 8126 (8130 . 8132) (8134 . 8140) (8144 . 8147) (8150 . 8155) (8160 . 8172) (8178 . 8180) (8182 . 8188) 8304 (8308 . 8313) (8320 . 8329) 8450 8455 (8458 . 8467) 8469 (8473 . 8477) 8484 8486 8488 (8490 . 8493) (8495 . 8505) (8508 . 8511) (8517 . 8521) 8526 (8528 . 8543) (8579 . 8580) 8585 (9312 . 9371) (9450 . 9471) (10102 . 10131) (11264 . 11310) (11312 . 11358) (11360 . 11387) (11390 . 11391) (11392 . 11492) (11499 . 11502) (11506 . 11507) 11517 (11520 . 11557) 11559 11565 (11568 . 11623) (11648 . 11670) (11680 . 11686) (11688 . 11694) (11696 . 11702) (11704 . 11710) (11712 . 11718) (11720 . 11726) (11728 . 11734) (11736 . 11742) 12294 12348 (12353 . 12438) 12447 (12449 . 12538) 12543 (12549 . 12589) (12593 . 12686) (12690 . 12693) (12704 . 12730) (12784 . 12799) (12832 . 12841) (12872 . 12879) (12881 . 12895) (12928 . 12937) (12977 . 12991) (13312 . 19893) (19968 . 40908) (40960 . 40980) (40982 . 42124) (42192 . 42231) (42240 . 42507) (42512 . 42539) (42560 . 42606) (42624 . 42651) (42656 . 42725) (42786 . 42863) (42865 . 42887) (42891 . 42894) (42896 . 42925) (42928 . 42929) 42999 (43002 . 43007) (43008 . 43009) (43011 . 43013) (43015 . 43018) (43020 . 43042) (43056 . 43061) (43072 . 43123) (43138 . 43187) (43216 . 43225) (43250 . 43255) 43259 (43264 . 43301) (43312 . 43334) (43360 . 43388) (43396 . 43442) (43472 . 43481) (43488 . 43492) (43495 . 43518) (43520 . 43560) (43584 . 43586) (43588 . 43595) (43600 . 43609) (43616 . 43631) (43633 . 43638) 43642 (43646 . 43647) (43648 . 43695) 43697 (43701 . 43702) (43705 . 43709) 43712 43714 (43739 . 43740) (43744 . 43754) 43762 (43777 . 43782) (43785 . 43790) (43793 . 43798) (43808 . 43814) (43816 . 43822) (43824 . 43866) (43876 . 43877) (43968 . 44002) (44016 . 44025) (44032 . 55203) (55216 . 55238) (55243 . 55291) (63744 . 64109) (64112 . 64217) (64256 . 64262) (64275 . 64279) 64285 (64287 . 64296) (64298 . 64310) (64312 . 64316) 64318 (64320 . 64321) (64323 . 64324) (64326 . 64335) (64336 . 64433) (64467 . 64829) (64848 . 64911) (64914 . 64967) (65008 . 65019) (65136 . 65140) (65142 . 65276) (65296 . 65305) (65313 . 65338) (65345 . 65370) (65382 . 65391) (65393 . 65437) (65440 . 65470) (65474 . 65479) (65482 . 65487) (65490 . 65495) (65498 . 65500) (65536 . 65547) (65549 . 65574) (65576 . 65594) (65596 . 65597) (65599 . 65613) (65616 . 65629) (65664 . 65786) (65799 . 65843) (65909 . 65912) (65930 . 65931) (66176 . 66204) (66208 . 66256) (66273 . 66299) (66304 . 66339) (66352 . 66368) (66370 . 66377) (66384 . 66421) (66432 . 66461) (66464 . 66499) (66504 . 66511) (66560 . 66639) (66640 . 66687) (66688 . 66717) (66720 . 66729) (66816 . 66855) (66864 . 66915) (67072 . 67382) (67392 . 67413) (67424 . 67431) (67584 . 67589) 67592 (67594 . 67637) (67639 . 67640) 67644 67647 (67648 . 67669) (67672 . 67679) (67680 . 67702) (67705 . 67711) (67712 . 67742) (67751 . 67759) (67840 . 67867) (67872 . 67897) (67968 . 67999) (68000 . 68023) (68030 . 68031) 68096 (68112 . 68115) (68117 . 68119) (68121 . 68147) (68160 . 68167) (68192 . 68222) (68224 . 68255) (68288 . 68295) (68297 . 68324) (68331 . 68335) (68352 . 68405) (68416 . 68437) (68440 . 68447) (68448 . 68466) (68472 . 68479) (68480 . 68497) (68521 . 68527) (68608 . 68680) (69216 . 69246) (69635 . 69687) (69714 . 69743) (69763 . 69807) (69840 . 69864) (69872 . 69881) (69891 . 69926) (69942 . 69951) (69968 . 70002) 70006 (70019 . 70066) (70081 . 70084) (70096 . 70106) (70113 . 70132) (70144 . 70161) (70163 . 70187) (70320 . 70366) (70384 . 70393) (70405 . 70412) (70415 . 70416) (70419 . 70440) (70442 . 70448) (70450 . 70451) (70453 . 70457) 70461 (70493 . 70497) (70784 . 70831) (70852 . 70853) 70855 (70864 . 70873) (71040 . 71086) (71168 . 71215) 71236 (71248 . 71257) (71296 . 71338) (71360 . 71369) (71840 . 71922) 71935 (72384 . 72440) (73728 . 74648) (77824 . 78894) (92160 . 92728) (92736 . 92766) (92768 . 92777) (92880 . 92909) (92928 . 92975) (93008 . 93017) (93019 . 93025) (93027 . 93047) (93053 . 93071) (93952 . 94020) 94032 (110592 . 110593) (113664 . 113770) (113776 . 113788) (113792 . 113800) (113808 . 113817) (119648 . 119665) (119808 . 119892) (119894 . 119964) (119966 . 119967) 119970 (119973 . 119974) (119977 . 119980) (119982 . 119993) 119995 (119997 . 120003) (120005 . 120069) (120071 . 120074) (120077 . 120084) (120086 . 120092) (120094 . 120121) (120123 . 120126) (120128 . 120132) 120134 (120138 . 120144) (120146 . 120485) (120488 . 120512) (120514 . 120538) (120540 . 120570) (120572 . 120596) (120598 . 120628) (120630 . 120654) (120656 . 120686) (120688 . 120712) (120714 . 120744) (120746 . 120770) (120772 . 120779) (120782 . 120831) (124928 . 125124) (125127 . 125135) (126464 . 126467) (126469 . 126495) (126497 . 126498) 126500 126503 (126505 . 126514) (126516 . 126519) 126521 126523 126530 126535 126537 126539 (126541 . 126543) (126545 . 126546) 126548 126551 126553 126555 126557 126559 (126561 . 126562) 126564 (126567 . 126570) (126572 . 126578) (126580 . 126583) (126585 . 126588) 126590 (126592 . 126601) (126603 . 126619) (126625 . 126627) (126629 . 126633) (126635 . 126651) (127232 . 127244) (131072 . 173782) (173824 . 177972) (177984 . 178205) (194560 . 195101))) #@36 Syntax table used in Haskell mode. (defvar haskell-mode-syntax-table (byte-code "\302 \303\304\305#\210\303\306\305#\210\303\307\310#\210\303\311\312#\210\303\313\312#\210\303\314\315#\210\303\316\317#\210\303\320\321#\210\303\322\323#\210\303\324\325#\210\303\326\327#\210\303\330\331#\210\303\332\333#\210\303\334\335#\210\336\337\340\"\341\"\210\211\203r\211@\303\342#\210A\266\202\202_\210 \211\203\207\211@\303\343#\210A\266\202\202t\210\207" [haskell--char-syntax-symbols haskell--char-syntax-identifiers make-syntax-table modify-syntax-entry 32 " " 9 34 "\"" 39 "_" 95 40 "()" 41 ")(" 91 "(]" 93 ")[" 123 "(}1nb" 125 "){4nb" 45 "< 123" 10 ">" 96 "$`" mapc make-closure #[257 "\301\302\300#\207" [V0 modify-syntax-entry "."] 5 "\n\n(fn X)"] "!#$%&*+./:<=>?@^|~,;\\" "." "w"] 7) (#$ . 16574)) #@18 (fn BEGIN END) (defalias 'haskell-syntax-propertize #[514 "\212\203\264b\210\3022O\212\303y\304U\205M\305\306\307!)\262\203/\303y\304U\204\310\302\311\"\210\202\312`!\313\232\204D\314\306\307!)\262?\206M\315\306\307!)\262)0`W\203\263\305\306\307!)\262\204\255\211\203\316\306\307!)\262\203\255\317``T\320\313$\210\311\262\202\255\314\306\307!)\262\203\226\317``T\320\321$\210\202\255\317``T\320\313$\210\315\306\307!)\262\203\255\306\262\322y\210\202O\210b\210\323 \3248\203\312\325`d\311\211\320&\262\3268\203\345\3268b\210\3278\330=\203\345\331\311x\210`Sb\210`W\205\332 \211\333\267\202\377\334\322\224f!\335>\203\377\317\322\224\322\225\320\336$\210\202\377\317\304\224\304\225\320\337$\210\202\377\212\340\224b\210\340\225\341 \342\343\"\216\344\345\306#\2037\317\304\224\304\225\320\336$\210\202#)\266\327\224\204\\\340\225d\232\204\\\317\322\224\322\225\320\346$\210\317\340\225\340\225T\320\346$\210\202v\317\322\224\322\225\320\347$\210\340\225d\232\204v\317\340\225\340\225T\320\347$\210)\202\377\212\340\224b\210\340\225\341 \342\350\"\216\344\345\306#\203\234\317\304\224\304\225\320\336$\210\202\210)\266\327\224\204\276\340\225d\232\204\276\317\322\224\322\225\320\346$\210\317\340\225\340\225T\320\346$\210)\202\377\317\340\224\340\225\320\347$\210\324\224\203\331\317\324\224\324\225\320\347$\210\212\327\224b\210\327\225\341 \342\351\"\216\344\345\306#\203\373\317\304\224\304\225\320\336$\210\202\347)\266)\211\203 \304\225b\266\202\345b\266\202\345\262)\207" [haskell-literate inhibit-changing-match-data return -1 0 "^[ ]*$" t looking-at throw nil syntax-after (11) "^>" "^\\\\begin{code}[ ]*$" "^\\\\end{code}[ ]*$" put-text-property syntax-table (0) 1 syntax-ppss 4 parse-partial-sexp 8 3 124 "^[" haskell-lexeme-looking-at-token #s(hash-table size 5 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (qsymid 243 number 265 char 277 string 378 template-haskell-quasi-quote 450)) haskell-lexeme-classify-by-first-char (varsym consym) (1) (2) 2 match-data make-closure #[0 "\301\300\302\"\207" [V0 set-match-data evaporate] 3] re-search-forward "\"" (15) (7) #[0 "\301\300\302\"\207" [V0 set-match-data evaporate] 3] #[0 "\301\300\302\"\207" [V0 set-match-data evaporate] 3]] 11 (#$ . 17405)]) #@100 Return the identifier near point going backward or nil if none found. May return a qualified name. (defalias 'haskell-ident-at-point #[0 "\300 \211\205\f\301@A\"\207" [haskell-ident-pos-at-point buffer-substring-no-properties] 4 (#$ . 19740)]) #@76 Like `haskell-ident-pos-at-point', but includes any surrounding backticks. (defalias 'haskell-spanable-pos-at-point #[0 "\212\300 \211\2050\211\211A\262\242\211\206`Sf\301=\203+f\301=\203+\211STB\266\202\2020\211B\266\202\262)\207" [haskell-ident-pos-at-point 96] 5 (#$ . 19993)]) #@165 Return the span of the identifier near point going backward. Returns nil if no identifier found or point is inside string or comment. May return a qualified name. (defalias 'haskell-ident-pos-at-point #[0 "\301\302 8?\205\253\303\211\212l\203n\204\304u\210m\204)\303fz\305=\203)\306\303x\210\304u\210\212\307 \2049\310\311!\210`\262\202So\204K\307 \203K`\262\304u\210\2029\307 \203S`\262b\210\312\313\314!)\262\203e\303u\210\315 \211\203n\211\262\210)\212\316\311!\210`\262\314\317!\203\217\303u\210\316\311!\320U\204\217`\262\202x\307 \203\235\303u\210`\262\202\217)U?\205\250B)\266\202\207" [inhibit-changing-match-data 8 syntax-ppss nil -1 32 " " haskell-mode--looking-at-varsym skip-syntax-backward "w_" "\\." t looking-at haskell-mode--skip-qualification-backward skip-syntax-forward "\\.[[:upper:]]" 0] 5 (#$ . 20293)]) #@48 Return t when point stands at operator symbol. (defalias 'haskell-mode--looking-at-varsym #[0 "m?\205\300\301f!\211\302=\206\211\303=\262\207" [haskell-lexeme-classify-by-first-char nil varsym consym] 3 (#$ . 21163)]) #@170 Skip qualified part of identifier backward. Expects point stands *after* delimiting dot. Returns beginning position of qualified part or nil if no qualified part found. (defalias 'haskell-mode--skip-qualification-backward #[0 "o\205\301\302!?\2057\303\211`Sf\304=\2034\305u\210\306\307!\310U\2044\311\312!\2034\301\313!\2034`\262\202)\262\207" [case-fold-search looking-at "^" nil 46 -1 skip-syntax-backward "w'" 0 skip-syntax-forward "'" "[[:upper:]]"] 4 (#$ . 21393)]) #@127 Like `delete-indentation' but ignoring Bird-style ">". Prefix ARG is handled as per `delete-indentation'. (fn &optional ARG) (defalias 'haskell-delete-indentation #[256 "\206 \302=\205 \303\304!)\207" [fill-prefix haskell-literate bird ">" delete-indentation] 3 (#$ . 21884) "*P"]) #@69 An `electric-pair-mode' inhibit function for character CH. (fn CH) (defalias 'haskell-mode--inhibit-bracket-inside-comment-or-default #[257 "\300\301 8\206\n\302!\207" [4 syntax-ppss electric-pair-default-inhibit] 3 (#$ . 22179)]) (defvar haskell-mode-hook nil) (byte-code "\300\301N\204\f\302\300\301\303#\210\304\305!\204\302\305\306\307#\210\300\207" [haskell-mode-hook variable-documentation put "Hook run after entering Haskell mode.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it. (This is true for all hook variables.)" boundp haskell-mode-map definition-name haskell-mode] 4) (defvar haskell-mode-map (make-sparse-keymap)) (byte-code "\301\302N\204\303\301\302\304\305!#\210\306\307!\204\303\307\310\311#\210\312\313 !\210\307\302N\204-\303\307\302\304\314!#\210\306\300!\204B\303\300\310\311#\210\315\316\300\317\"\210!\210\300\302N\204P\303\300\302\304\320!#\210\303\311\321\322#\210\303\311\323\324#\207" [haskell-mode-abbrev-table haskell-mode-map variable-documentation put purecopy "Keymap for `haskell-mode'." boundp haskell-mode-syntax-table definition-name haskell-mode (lambda (#1=#:def-tmp-var) (defvar haskell-mode-syntax-table #1#)) make-syntax-table "Syntax table for `haskell-mode'." (lambda (#1#) (defvar haskell-mode-abbrev-table #1#)) define-abbrev-table nil "Abbrev table for `haskell-mode'." derived-mode-parent prog-mode custom-mode-group haskell] 5) #@1677 Major mode for editing Haskell programs. \ Literate Haskell scripts are supported via `haskell-literate-mode'. The variable `haskell-literate' indicates the style of the script in the current buffer. See the documentation on this variable for more details. Use `haskell-version' to find out what version of Haskell mode you are currently using. Additional Haskell mode modules can be hooked in via `haskell-mode-hook'. Indentation modes: `haskell-indentation-mode', Kristof Bastiaensen, Gergely Risko Intelligent semi-automatic indentation Mk2 `haskell-indent-mode', Guy Lapalme Intelligent semi-automatic indentation. Interaction modes: `interactive-haskell-mode' Interact with per-project GHCi processes through a REPL and directory-aware sessions. Other modes: `haskell-decl-scan-mode', Graeme E Moss Scans top-level declarations, and places them in a menu. `haskell-doc-mode', Hans-Wolfgang Loidl Echoes types of functions or syntax of keywords when the cursor is idle. To activate a minor-mode, simply run the interactive command. For example, `M-x haskell-doc-mode'. Run it again to disable it. To enable a mode for every haskell-mode buffer, add a hook in your Emacs configuration. To do that you can customize `haskell-mode-hook' or add lines to your .emacs file. For example, to enable `interactive-haskell-mode', use the following: (add-hook 'haskell-mode-hook 'interactive-haskell-mode) Minor modes that work well with `haskell-mode': - `smerge-mode': show and work with diff3 conflict markers used by git, svn and other version control systems. \{haskell-mode-map} (defalias 'haskell-mode #[0 "\306\300!\210\307\310 \210\311\312\310\313N\203\314\311\313\310\313N#\210\315 !\204'\316 \317 \"\210\320\f!\211\2035\211\321 =\203;\322\f\323 \"\210\210\324 \325\"\204R @=\204R\326 \325@C#\210\327 !\210\330\f!\210 @\331A\332\"\203i\333\334!\210\306\335!\210\336BP\306\337!\210\340BP\306\341!\210\342!\306\343!\210\344#\306\345!\210\346%\306\347!\210\350'\306\351!\210\352)\306\353!\210\354+\306\355!\210\356-\306\357!\210\360/\306\361!\210\3621\306\363!\210\3643\306\365!\210\3665\306\367!\210\3707\306\371!\210\3079\306\372!\210\360:\306\373!\210\374;\306\375!\210\307=\376\377!\203\366\307?\306\201C!\210\360C\306\201D!\210\360D\306\201E!\210\360E\306\201F!\210\201JF\360G\201K\201L\201M\360\307$\210\201K\201N\201O\360\307$\210\201K\201P\201Q\360\307$\210H\201R=\203Z\306\201I!\210\201SI\201T \210)\201U\201V!\207" [delay-mode-hooks major-mode mode-name haskell-mode-map haskell-mode-syntax-table haskell-mode-abbrev-table make-local-variable t prog-mode haskell-mode "Haskell" mode-class put keymap-parent set-keymap-parent current-local-map char-table-parent standard-syntax-table set-char-table-parent syntax-table abbrev-table-get :parents abbrev-table-put use-local-map set-syntax-table version< "25.1" error "haskell-mode requires at least Emacs 25.1" paragraph-start " *{-\\| *-- |\\|" paragraph-separate " *$\\| *\\({-\\|-}\\) *$\\|" fill-paragraph-function haskell-fill-paragraph comment-start "--" comment-padding 1 comment-start-skip "[-{]-[ ]*" comment-end "" comment-end-skip "[ ]*\\(-}\\|\\s>\\)" forward-sexp-function haskell-forward-sexp parse-sexp-ignore-comments nil syntax-propertize-function haskell-syntax-propertize eldoc-documentation-function haskell-doc-current-info imenu-create-index-function haskell-ds-create-imenu-index font-lock-defaults ((haskell-font-lock-keywords) nil nil nil nil (font-lock-syntactic-face-function . haskell-syntactic-face-function) (parse-sexp-lookup-properties . t) (font-lock-extra-managed-props composition haskell-type)) font-lock-multiline indent-tabs-mode tab-width 8 comment-auto-fill-only-comments boundp electric-indent-inhibit local-abbrev-table emacs-version page-delimiter dabbrev-case-fold-search dabbrev-case-distinction dabbrev-case-replace dabbrev-abbrev-char-regexp haskell-literate emacs-major-version electric-pair-inhibit-predicate "\\sw\\|[.]" add-hook before-save-hook haskell-mode-before-save-handler after-save-hook haskell-mode-after-save-handler completion-at-point-functions haskell-completions-completion-at-point 25 haskell-mode--inhibit-bracket-inside-comment-or-default haskell-indentation-mode run-mode-hooks haskell-mode-hook] 5 (#$ . 23621) nil]) (byte-code "\300\301\302\303\304DD\305\306\307\310\311\312\313& \207" [custom-declare-variable haskell-mode-hook funcall function #[0 "\300\207" [(haskell-indentation-mode interactive-haskell-mode)] 1] "List of functions to run after `haskell-mode' is enabled.\n\nUse to enable minor modes coming with `haskell-mode' or run an\narbitrary function.\n\nNote that `haskell-indentation-mode' and `haskell-indent-mode' should not be\nrun at the same time." :group haskell :type hook :options (capitalized-words-mode flyspell-prog-mode haskell-decl-scan-mode haskell-indent-mode haskell-indentation-mode highlight-uses-mode imenu-add-menubar-index interactive-haskell-mode turn-on-haskell-unicode-input-method)] 10) #@16 (fn JUSTIFY) (defalias 'haskell-fill-paragraph #[257 "\212\301 \3028\211\303=\203\304!\266\202\202X\211\250\203F\3058\212\211b\210\306 \210\307u\210\310\311\312\303#\210\313\224)\314\\\312\214}\210\315!\210*\266\303\202Xl\203P\266\303\202X\312\210\316!\266\202)\207" [fill-paragraph-handle-comment syntax-ppss 4 t fill-comment-paragraph 8 forward-sexp -3 re-search-forward "[ ]?-}" nil 0 2 fill-paragraph haskell-fill-paragraph] 9 (#$ . 28749)]) #@460 Haskell specific version of `forward-sexp'. Move forward across one balanced expression (sexp). With ARG, do it that many times. Negative arg -N means move backward across N balanced expressions. This command assumes point is not in a string or comment. If unable to move over a sexp, signal `scan-error' with three arguments: a message, the start of the obstacle (a parenthesis or list marker of some kind), and end of the obstacle. (fn &optional ARG) (defalias 'haskell-forward-sexp #[256 "\211\204\301\262\211\302W\203>\211\302W\205\220\303\304!\210`\305\306 \210``W\2031`\262\307 \210\310\304!\210\202\211b\266)\210\211T\262\202 \311 \312\313\"\216\302V\205\215\314 \203\206\315\302!\316\317\320E\235\203j\321`\301\"\206e\322\301!b\210\202\206\315\302!\323\324\325E\235\203\202\326\327\330\302\224\302\225E\"\210\202\206\302\225b\210S\262\202E)\262\207" [forward-sexp-function 1 0 skip-syntax-backward "->" nil backward-sexp haskell-forward-sexp skip-syntax-forward match-data make-closure #[0 "\301\300\302\"\207" [V0 set-match-data evaporate] 3] haskell-lexeme-looking-at-token match-string "(" "[" "{" scan-sexps buffer-end ")" "]" "}" signal scan-error "Containing expression ends prematurely."] 7 (#$ . 29226) "^p"]) (defvar haskell-literate-mode-hook nil) (byte-code "\300\301N\204\f\302\300\301\303#\210\304\305!\204\302\305\306\307#\210\300\207" [haskell-literate-mode-hook variable-documentation put "Hook run after entering LitHaskell mode.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it. (This is true for all hook variables.)" boundp haskell-literate-mode-map definition-name haskell-literate-mode] 4) (defvar haskell-literate-mode-map (make-sparse-keymap)) (byte-code "\301\302N\204\303\301\302\304\305!#\210\306\307!\204\303\307\310\311#\210\312\313 !\210\307\302N\204-\303\307\302\304\314!#\210\306\300!\204B\303\300\310\311#\210\315\316\300\317\"\210!\210\300\302N\204P\303\300\302\304\320!#\210\303\311\321\322#\207" [haskell-literate-mode-abbrev-table haskell-literate-mode-map variable-documentation put purecopy "Keymap for `haskell-literate-mode'." boundp haskell-literate-mode-syntax-table definition-name haskell-literate-mode (lambda (#1=#:def-tmp-var) (defvar haskell-literate-mode-syntax-table #1#)) make-syntax-table "Syntax table for `haskell-literate-mode'." (lambda (#1#) (defvar haskell-literate-mode-abbrev-table #1#)) define-abbrev-table nil "Abbrev table for `haskell-literate-mode'." derived-mode-parent haskell-mode] 5) #@243 As `haskell-mode' but for literate scripts. In addition to any hooks its parent mode might have run, this mode runs the hook `haskell-literate-mode-hook', as the final or penultimate step during initialization. \{haskell-literate-mode-map} (defalias 'haskell-literate-mode #[0 "\306\300!\210\307\310 \210\311\312\310\313N\203\314\311\313\310\313N#\210\315 !\204'\316 \317 \"\210\320\f!\211\2035\211\321 =\203;\322\f\323 \"\210\210\324 \325\"\204R $=\204R\326 \325$C#\210\327 !\210\330\f!\210 $\212eb\210\331\332\333\307#\203m\334\202{\331\335\333\307#\203y\336\202{%)\211&\336=\203\213\306\337!\210\333\306\340!\210\341 )\342\343!\207" [delay-mode-hooks major-mode mode-name haskell-literate-mode-map haskell-literate-mode-syntax-table haskell-literate-mode-abbrev-table make-local-variable t haskell-mode haskell-literate-mode "LitHaskell" mode-class put keymap-parent set-keymap-parent current-local-map char-table-parent standard-syntax-table set-char-table-parent syntax-table abbrev-table-get :parents abbrev-table-put use-local-map set-syntax-table re-search-forward "^\\\\\\(begin\\|end\\){code}$" nil tex "^>" bird fill-paragraph-handle-comment mode-line-process ("/" (:eval (symbol-name haskell-literate))) run-mode-hooks haskell-literate-mode-hook local-abbrev-table haskell-literate-default haskell-literate] 6 (#$ . 31777) nil]) (byte-code "\300\301\302\303#\210\304\301\302\305#\210\306\307\310\"\210\306\307\311\"\210\306\307\312\"\210\306\307\313\"\210\306\314\315\"\210\306\314\316\"\210\306\317\320\"\210\321\322\323\324\325DD\326\327\330\331\332&\210\321\333\323\324\334DD\335\327\330\331\336&\207" [defalias literate-haskell-mode haskell-literate-mode nil make-obsolete "2020-04" add-to-list auto-mode-alist ("\\.[gh]s\\'" . haskell-mode) ("\\.hsig\\'" . haskell-mode) ("\\.l[gh]s\\'" . haskell-literate-mode) ("\\.hsc\\'" . haskell-mode) interpreter-mode-alist ("runghc" . haskell-mode) ("runhaskell" . haskell-mode) completion-ignored-extensions ".hi" custom-declare-variable haskell-check-command funcall function #[0 "\300\207" [#1="hlint"] 1 #1#] "*Command used to check a Haskell file." :group haskell :type (choice (const "hlint") (const "ghc -fno-code") (string :tag "Other command")) haskell-tags-on-save #[0 "\300\207" [nil] 1] "Generate tags via hasktags after saving." boolean] 8) #@15 Internal use. (defvar haskell-saved-check-command nil (#$ . 34122)) #@165 Check a Haskell file (default current buffer's file). Runs COMMAND, a shell command, as if by `compile'. See `haskell-check-command' for the default. (fn COMMAND) (defalias 'haskell-check #[257 "\211\302 ?\303\"\210\304!\207" [haskell-saved-check-command compilation-ask-about-save save-some-buffers nil compilation-start] 4 (#$ . 34197) (byte-code "\302\303\206 \304\305 \211\205\306!\262Q\"C\207" [haskell-saved-check-command haskell-check-command read-string "Checker command: " " " buffer-file-name file-name-nondirectory] 7)]) (byte-code "\300\301\302\303!\203\f\303\202 \304\"\207" [defalias haskell-flymake-create-temp-buffer-copy fboundp flymake-proc-init-create-temp-buffer-copy flymake-init-create-temp-buffer-copy] 4) #@36 Flymake init function for Haskell. (defalias 'haskell-flymake-init #[0 "\205\301!\211@\302A\303\304!C\"D\262\207" [haskell-saved-check-command split-string append haskell-flymake-create-temp-buffer-copy flymake-create-temp-inplace] 6 (#$ . 34944)]) (add-to-list 'flymake-allowed-file-name-masks '("\\.l?hs\\'" haskell-flymake-init)) #@50 Format the imports by aligning and sorting them. (defalias 'haskell-mode-format-imports #[0 "i\300 \210\301 \210\302 \\b\207" [haskell-sort-imports haskell-align-imports line-beginning-position] 3 (#$ . 35289) nil]) #@54 Function that will be called before buffer's saving. (defalias 'haskell-mode-before-save-handler #[0 "\205\3011\f\302 0\207\210\303\207" [haskell-stylish-on-save (error) haskell-mode-stylish-buffer nil] 1 (#$ . 35512)]) #@86 Try to insert an SCC annotation at point. Return true if successful, nil otherwise. (defalias 'haskell-mode-try-insert-scc-at-point #[0 "\300\301!\204n?\205C\212\302u\210\300\303!)\205C\300\303!n\204(\212\302u\210\300\303!)\204+\304c\210\305c\210\211\2045\304c\210\211\203=\306\202>\307u\210\310\262\207" [looking-at "\\b\\|[ ]\\|$" -1 "[ ]" " " "{-# SCC \"\" #-}" -5 -6 t] 3 (#$ . 35742)]) #@36 Insert an SCC annotation at point. (defalias 'haskell-mode-insert-scc-at-point #[0 "\300 ?\205 \301\302!\207" [haskell-mode-try-insert-scc-at-point error "Not over an area of whitespace"] 2 (#$ . 36152) nil]) (make-obsolete 'haskell-mode-insert-scc-at-point 'haskell-mode-toggle-scc-at-point "2015-11-11") #@84 Try to kill an SCC annotation at point. Return true if successful, nil otherwise. (defalias 'haskell-mode-try-kill-scc-at-point #[0 "\212`\300\301!\204n\204\302u\210\202\301\300!\205/\303\224X\205/\303\225V\205/\304\305\224\305\225\"\210\306\266\202)\207" ["\\({-#[ ]*SCC \"[^\"]*\"[ ]*#-}\\)[ ]*" looking-at -1 1 kill-region 0 t] 5 (#$ . 36465)]) #@35 Kill the SCC annotation at point. (defalias 'haskell-mode-kill-scc-at-point #[0 "\300 ?\205 \301\302!\207" [haskell-mode-try-kill-scc-at-point error "No SCC at point"] 2 (#$ . 36835) nil]) (make-obsolete 'haskell-mode-kill-scc-at-point 'haskell-mode-toggle-scc-at-point "2015-11-11") #@100 If point is in an SCC annotation, kill the annotation. Otherwise, try to insert a new annotation. (defalias 'haskell-mode-toggle-scc-at-point #[0 "\300 ?\205\301 ?\205\302\303!\207" [haskell-mode-try-kill-scc-at-point haskell-mode-try-insert-scc-at-point error "Could not insert or remove SCC"] 2 (#$ . 37127) nil]) #@528 Guess the module name from FILE-NAME. Based on given FILE-NAME this function tries to find path components that look like module identifiers and composes full module path using this information. For example: /Abc/Def/Xyz.lhs => Abc.Def.Xyz /Ab-c/Def/Xyz.lhs => Def.Xyz src/Abc/Def/Xyz.hs => Abc.Def.Xyz c:\src\Abc\Def\Xyz.hs => Abc.Def.Xyz nonmodule.txt => nil This function usually will be used with `buffer-file-name': (haskell-guess-module-name-from-file-name (buffer-file-name)) (fn FILE-NAME) (defalias 'haskell-guess-module-name-from-file-name #[257 "\302!\303\304\305\"!\306\211:\203-@\262\306\307\310 \311Q\")\203-B\262A\262\202 \211\237\266\203\211\205<\312\313\303!\314#\207" [case-fold-search haskell-lexeme-modid file-name-sans-extension reverse split-string "/" nil string-match "^" "$" mapconcat identity "."] 9 (#$ . 37455)]) #@95 Guess the current module name of the buffer. Uses `haskell-guess-module-name-from-file-name'. (defalias 'haskell-guess-module-name #[0 "\300\301 !\207" [haskell-guess-module-name-from-file-name buffer-file-name] 2 (#$ . 38348)]) #@105 Template string that will be inserted in new haskell buffers via `haskell-auto-insert-module-template'. (defvar haskell-auto-insert-module-format-string "-- | \n\nmodule %s where\n\n" (#$ . 38584)) #@56 Insert a module template for the newly created buffer. (defalias 'haskell-auto-insert-module-template #[0 "edU\205\301 \205\302\303\301 !\"c\210eb\210\304\207" [haskell-auto-insert-module-format-string buffer-file-name format haskell-guess-module-name-from-file-name nil] 4 (#$ . 38788) nil]) #@237 Generate tags using Hasktags. This is synchronous function. If optional AND-THEN-FIND-THIS-TAG argument is present it is used with function `xref-find-definitions' after new table was generated. (fn &optional AND-THEN-FIND-THIS-TAG) (defalias 'haskell-mode-generate-tags #[256 "\301 \302!\211\204 \303\304!\207\305!\306U\203\307\310!\210\205#\311!)\207" [tags-file-name haskell-cabal--find-tags-dir haskell-cabal--compose-hasktags-command error "Unable to compose hasktags command" shell-command 0 haskell-mode-message-line "Tags generated." xref-find-definitions] 5 (#$ . 39094) nil]) (provide 'haskell-mode)