From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Emanuel Berg Newsgroups: gmane.emacs.help Subject: Re: Basic font-lock without font-locking double-quoted strings Date: Fri, 20 Dec 2013 01:26:26 +0100 Organization: Aioe.org NNTP Server Message-ID: <87r498fjuc.fsf@nl106-137-194.student.uu.se> References: NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: ger.gmane.org 1387499414 8285 80.91.229.3 (20 Dec 2013 00:30:14 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Fri, 20 Dec 2013 00:30:14 +0000 (UTC) To: help-gnu-emacs@gnu.org Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Fri Dec 20 01:30:20 2013 Return-path: Envelope-to: geh-help-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1Vtnys-0002l1-RT for geh-help-gnu-emacs@m.gmane.org; Fri, 20 Dec 2013 01:30:18 +0100 Original-Received: from localhost ([::1]:47006 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Vtnys-0003rr-Fy for geh-help-gnu-emacs@m.gmane.org; Thu, 19 Dec 2013 19:30:18 -0500 Original-Path: usenet.stanford.edu!news.kjsl.com!feeder.erje.net!eu.feeder.erje.net!news.stack.nl!aioe.org!.POSTED!not-for-mail Original-Newsgroups: gnu.emacs.help Original-Lines: 70 Original-NNTP-Posting-Host: VVbyYd/iFZoeWNmD9i++cQ.user.speranza.aioe.org Original-X-Complaints-To: abuse@aioe.org User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux) X-Notice: Filtered by postfilter v. 0.8.2 Cancel-Lock: sha1:FEftFSHHszgNvlps+zD3ocMyKmY= Mail-Copies-To: never Original-Xref: usenet.stanford.edu gnu.emacs.help:202834 X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Users list for the GNU Emacs text editor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Original-Sender: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.help:95103 Archived-At: Joe Riel writes: > Why would the following minimal mode > > (define-derived-mode msdbg-mode fundamental-mode (setq > font-lock-keywords '(("EA" > . font-lock-warning-face)))) Does that work at all? According to the help, it should look like this: (define-derived-mode article-mode sgml-mode "Article" "Major mode for editing technical articles." (setq case-fold-search nil)) But strings are highlighted in fundamental-mode (font-look-face-face) so at least that makes sense. You'll have to wait for a better answer, but the below code (the only mode I did) might interest you. When I did it, I was told on this list not to make it a generic mode but to derive from fundamental-mode, however, I didn't do that - first the keywords, then create the mode. (defvar fpscalc-keywords '(("\\(!.*$\\)" . 'fpscalc-comment) ("\\(semaphore\\)\\((\\)\\([[:word:]]+\\)\\(\\, \\)\\([[:word:]]+\\)" (1 'fpscalc-semaphore-keyword) (3 'fpscalc-semaphore-name) (5 'fpscalc-task-name-and-index) ) ("declarations\\|initialise\\|semaphores\\|formulas" . 'fpscalc-program-parts) ("sigma\\|floor\\|ceiling\\|min\\|max" . 'fpscalc-math-functions) ("lp\\|ep\\|hp\\|all" . 'fpscalc-task-priority-sets) ("\\([[:word:]]\\)\\(\\[\\)\\(i\\)\\(\\]\\)" (1 'fpscalc-variable-name) (3 'fpscalc-i-task) ) ("\\([[:word:]]\\)\\(\\[\\)\\(j\\)\\(\\]\\)" (1 'fpscalc-variable-name) (3 'fpscalc-j-task)) ("\\([[:word:]]\\)\\(\\[\\)\\(.*\\)\\(\\]\\)" (1 'fpscalc-variable-name) (3 'fpscalc-task-name-and-index)) ("\\(system \\)\\(.* \\)" (1 'fpscalc-system-keyword) (2 'fpscalc-system-name)) ("\\(scalar\\|indexed\\|priority\\|blocking\\)\\( \\)+\\(\\(\\([[:word:]]\\( *\\, *\\)?\\)\\)*\\)" (1 'fpscalc-variable-type) (3 'fpscalc-variable-name)) ("\\(tasks +\\)\\(\\(\\([[:word:]]\\( *\\, *\\)?\\)\\)*\\)" (1 'fpscalc-tasks-keyword) (2 'fpscalc-task-name-and-index)) )) (define-generic-mode 'fpscalc-mode '("!") nil fpscalc-keywords '("\\.fps\\'") '((lambda () (progn (setq indent-line-function 'fpscalc-indent-line) (local-set-key "\C-c\C-c" 'compute) ))) "Major mode for .fps files and the fpscalc tool.") -- Emanuel Berg, programmer-for-rent. CV, projects, etc at uXu underground experts united: http://user.it.uu.se/~embe8573