|
31 | 31 | ;; functions, etc. Supports full PureScript 1.4 as well as LaTeX- and
|
32 | 32 | ;; Bird-style literate scripts.
|
33 | 33 | ;;
|
34 |
| -;; Installation: |
| 34 | +;; Customisation: |
35 | 35 | ;;
|
36 |
| -;; To turn font locking on for all PureScript buffers under the PureScript |
37 |
| -;; mode of Moss&Thorn, add this to .emacs: |
| 36 | +;; Two levels of fontification are defined: level one (the default) |
| 37 | +;; and level two (more colour). The former does not colour operators. |
| 38 | +;; Use the variable `font-lock-maximum-decoration' to choose |
| 39 | +;; non-default levels of fontification. For example, adding this to |
| 40 | +;; .emacs: |
38 | 41 | ;;
|
39 |
| -;; (add-hook 'purescript-mode-hook 'turn-on-purescript-font-lock) |
| 42 | +;; (setq font-lock-maximum-decoration \\='((purescript-mode . 2) (t . 0))) |
40 | 43 | ;;
|
41 |
| -;; Otherwise, call `turn-on-purescript-font-lock'. |
| 44 | +;; uses level two fontification for `purescript-mode' and default level for all |
| 45 | +;; other modes. See documentation on this variable for further details. |
42 | 46 | ;;
|
| 47 | +;; To alter an attribute of a face, add a hook. For example, to change the |
| 48 | +;; foreground colour of comments to brown, add the following line to .emacs: |
43 | 49 | ;;
|
44 |
| -;; Customisation: |
| 50 | +;; (add-hook \\='purescript-font-lock-hook |
| 51 | +;; (lambda () |
| 52 | +;; (set-face-foreground \\='purescript-comment-face \"brown\"))) |
| 53 | +;; |
| 54 | +;; Note that the colours available vary from system to system. To see what |
| 55 | +;; colours are available on your system, call `list-colors-display' from emacs. |
45 | 56 | ;;
|
46 |
| -;; The colours and level of font locking may be customised. See the |
47 |
| -;; documentation on `turn-on-purescript-font-lock' for more details. |
| 57 | +;; Bird-style literate PureScript scripts are supported: If the value of |
| 58 | +;; `purescript-literate-bird-style' (automatically set by the PureScript mode of |
| 59 | +;; Moss&Thorn) is non-nil, a Bird-style literate script is assumed. |
48 | 60 | ;;
|
49 | 61 | ;; Present Limitations/Future Work (contributions are most welcome!):
|
50 | 62 | ;;
|
@@ -318,73 +330,6 @@ Returns keywords suitable for `font-lock-keywords'."
|
318 | 330 | ;; Get help from font-lock-syntactic-keywords.
|
319 | 331 | (parse-sexp-lookup-properties . t))))
|
320 | 332 |
|
321 |
| -;; The main functions. |
322 |
| -(defun turn-on-purescript-font-lock () |
323 |
| - "Turns on font locking in current buffer for PureScript 1.4 scripts. |
324 |
| -
|
325 |
| -Changes the current buffer\\='s `font-lock-defaults', and adds the |
326 |
| -following variables: |
327 |
| -
|
328 |
| - `purescript-keyword-face' for reserved keywords and syntax, |
329 |
| - `purescript-constructor-face' for data- and type-constructors, class names, |
330 |
| - and module names, |
331 |
| - `purescript-operator-face' for symbolic and alphanumeric operators, |
332 |
| - `purescript-default-face' for ordinary code. |
333 |
| -
|
334 |
| -The variables are initialised to the following font lock default faces: |
335 |
| -
|
336 |
| - `purescript-keyword-face' `font-lock-keyword-face' |
337 |
| - `purescript-constructor-face' `font-lock-type-face' |
338 |
| - `purescript-operator-face' `font-lock-function-name-face' |
339 |
| - `purescript-default-face' <default face> |
340 |
| -
|
341 |
| -Two levels of fontification are defined: level one (the default) |
342 |
| -and level two (more colour). The former does not colour operators. |
343 |
| -Use the variable `font-lock-maximum-decoration' to choose |
344 |
| -non-default levels of fontification. For example, adding this to |
345 |
| -.emacs: |
346 |
| -
|
347 |
| - (setq font-lock-maximum-decoration \\='((purescript-mode . 2) (t . 0))) |
348 |
| -
|
349 |
| -uses level two fontification for `purescript-mode' and default level for |
350 |
| -all other modes. See documentation on this variable for further |
351 |
| -details. |
352 |
| -
|
353 |
| -To alter an attribute of a face, add a hook. For example, to change |
354 |
| -the foreground colour of comments to brown, add the following line to |
355 |
| -.emacs: |
356 |
| -
|
357 |
| - (add-hook \\='purescript-font-lock-hook |
358 |
| - (lambda () |
359 |
| - (set-face-foreground \\='purescript-comment-face \"brown\"))) |
360 |
| -
|
361 |
| -Note that the colours available vary from system to system. To see |
362 |
| -what colours are available on your system, call |
363 |
| -`list-colors-display' from emacs. |
364 |
| -
|
365 |
| -To turn font locking on for all PureScript buffers, add this to .emacs: |
366 |
| -
|
367 |
| - (add-hook \\='purescript-mode-hook \\='turn-on-purescript-font-lock) |
368 |
| -
|
369 |
| -To turn font locking on for the current buffer, call |
370 |
| -`turn-on-purescript-font-lock'. To turn font locking off in the current |
371 |
| -buffer, call `turn-off-purescript-font-lock'. |
372 |
| -
|
373 |
| -Bird-style literate PureScript scripts are supported: If the value of |
374 |
| -`purescript-literate-bird-style' (automatically set by the PureScript mode |
375 |
| -of Moss&Thorn) is non-nil, a Bird-style literate script is assumed. |
376 |
| -
|
377 |
| -Invokes `purescript-font-lock-hook' if not nil." |
378 |
| - (purescript-font-lock-defaults-create) |
379 |
| - (run-hooks 'purescript-font-lock-hook) |
380 |
| - (turn-on-font-lock)) |
381 |
| - |
382 |
| -(defun turn-off-purescript-font-lock () |
383 |
| - "Turns off font locking in current buffer." |
384 |
| - (font-lock-mode -1)) |
385 |
| - |
386 |
| -;; Provide ourselves: |
387 |
| - |
388 | 333 | (provide 'purescript-font-lock)
|
389 | 334 |
|
390 | 335 | ;; Local Variables:
|
|
0 commit comments