|  3.2.5 Editing SINGULAR input files with Emacs 
Since SINGULAR's programming language is similar to C, you
should use the Emacs C/C++-mode to edit SINGULAR input files and
SINGULAR libraries. Among others, this Emacs mode provides
automatic indentation, line-breaking and keyword highlighting.
 
When running ESingular, the C/C++-mode is automatically turned on
whenever a file with the suffix.sing, or.libis loaded. 
For Emacs sessions which were not started by ESingular,  you
should add the following to your.emacsfile: |  | ;; turn on c++-mode for files ending in ".sing" and ".lib"
(setq auto-mode-alist (cons '("\\.sing\\'" . c++-mode) auto-mode-alist))
(setq auto-mode-alist (cons '("\\.lib\\'" .  c++-mode) auto-mode-alist))
;; turn-on fontification for c++-mode
(add-hook 'c++-mode-hook
         (function (lambda () (font-lock-mode 1))))
;; turn on aut-new line and hungry-delete
(add-hook 'c++-mode-hook
          (function (lambda () (c-toggle-auto-hungry-state 1))))
;; a handy function for customization
(defun customize-face-at-point ()
  "Customize face which point is at."
  (interactive)
  (let ((face (get-text-property (point) 'face)))
    (if face
        (customize-face face)
      (message "No face defined at point"))))
 | 
 
Notice that you can change the default settings for source-code
highlighting (colors, fonts, etc.) by customizing the respective faces
using the Customizefeature of Emacs. For doing this, you might
find handy the above given functioncustomize-face-at-point,
which lets you customize the face of the current position of point (this
function is automatically defined if you runESingular). 
 |