# HG changeset patch # User Oleksandr Gavenko # Date 1609525969 -7200 # Node ID f697f2772ec945ed09d01b093f6e9f08b2e48c63 # Parent e4711ae3529fe842cc617aa0e433912ef88cea48 Moved some obsolete modes to attic. diff -r e4711ae3529f -r f697f2772ec9 company-dom.el --- a/company-dom.el Fri Jan 01 20:21:33 2021 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,52 +0,0 @@ -(require 'company) -(require 'cl-lib) -(require 'web-mode) - -(unless (fboundp 'web-mode-language-at-pos) - (defun web-mode-language-at-pos (&optional pos) - (plist-get (web-mode-point-context (or pos (point))) :language))) - -(defvar company-dom--document-methods - '("getElementById" "getElementsByClassName" "createElement" "createElementNS" "createEvent")) - -(defvar company-dom--window-methods - '("console" "document" "location")) - -(defun company-dom--prefix () - (when (looking-back "\\<\\w+\\(?:\\.?\\w+\\>\\|\\.\\)") - (match-string 0))) - -(defun company-dom--candidates (prefix) - (cond - ((string-match "^window\\.\\(.*\\)" prefix) - (mapcar - (lambda (str) (concat "window." str)) - (all-completions (match-string 1) company-dom--window-methods))) - ((string-match "^document\\.\\(.*\\)" prefix) - (mapcar - (lambda (str) (concat "document." str)) - (all-completions (match-string 1) company-dom--document-methods))) - (t - (all-completions prefix '("document" "window"))) - )) - -(defun company-web (command &optional arg &rest ignored) - (interactive (list 'interactive)) - (cl-case command - (interactive (company-begin-backend 'company-web)) - (prefix - (pcase (plist-get (web-mode-point-context (point)) :language) - ("css" (company-css 'prefix)) - ("javascript" (company-dom--prefix)))) - (candidates - (pcase (plist-get (web-mode-point-context (point)) :language) - ("css" (company-css 'candidates arg)) - ("javascript" (company-dom--candidates arg)))) - (meta (format "This value is named %s" arg)))) - -(defun company-web-register () - (set (make-local-variable 'company-backends) '(company-web))) - -(add-hook 'web-mode-hook #'company-web-register) - -;; Debug company with M-x company-diag. diff -r e4711ae3529f -r f697f2772ec9 iar-linker-config-mode.el --- a/iar-linker-config-mode.el Fri Jan 01 20:21:33 2021 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,71 +0,0 @@ -;;; iar-linker-config-mode.el --- major mode for highlighting IAR Embedded Workbench 5.x linker scripts - -;; Copyright (C) 2009, 2010 by Oleksandr Gavenko - -;; You can do anything with this file without any warranty. - -;; Author: Oleksandr Gavenko -;; Maintainer: Oleksandr Gavenko -;; Created: 2009-11-08 -;; Version: 0.1 -;; Keywords: languages - -;;; Commentary: -;; -;; Very pure highlighting and not all available syntax. - -;;; Code: - -;;;###autoload -(define-generic-mode iar-linker-config-mode - '("// " ("/*" . "*/")) - '("zeroinit" "code" "readwrite" "rw" "readonly" "ro") - '( - ("\\(define +symbol\\) +\\([_a-zA-Z0-9]+\\) *= *\\(0x[0-9a-fA-F]+\\);" - (1 font-lock-keyword-face) - (2 font-lock-variable-name-face) - (3 font-lock-constant-face) ) - ("\\(define +memory\\) +\\([_a-zA-Z]+\\) +\\(with +size\\) = \\(0x[0-9a-fA-F]+\\|[0-9]+\\)[GMK]?;" - (1 font-lock-keyword-face) - (2 font-lock-variable-name-face) - (3 font-lock-keyword-face) - (4 font-lock-constant-face) ) - ("\\([_a-zA-Z]+\\):\\[\\(from\\) +\\([_a-zA-Z0-9]+\\) +\\(to\\|size\\) +\\([_a-zA-Z0-9]+\\)\\]" - (1 font-lock-variable-name-face) - (2 font-lock-keyword-face) - (3 font-lock-variable-name-face) - (4 font-lock-keyword-face) - (5 font-lock-variable-name-face) ) - ("\\(define +region\\) +\\([_a-zA-Z]+\\) *=" - (1 font-lock-keyword-face) - (2 font-lock-variable-name-face) ) - ("\\(define +block\\) +\\([_a-zA-Z]+\\) +\\(with +alignment\\) *= *[0-9]+, *\\(size\\) *= *\\([_a-zA-Z]+\\).*;" - (1 font-lock-keyword-face) - (2 font-lock-variable-name-face) - (3 font-lock-keyword-face) - (4 font-lock-keyword-face) - (5 font-lock-variable-name-face) ) - ("\\(do +not +initialize\\) *{" - (1 font-lock-keyword-face) ) - ("\\(place +in\\) +\\([_a-zA-Z]+\\) *{" - (1 font-lock-keyword-face) - (2 font-lock-variable-name-face) ) - ("\\(place +at +address\\) +\\([_a-zA-Z]+\\):\\([_a-zA-Z]+\\) *{" - (1 font-lock-keyword-face) - (2 font-lock-variable-name-face) - (3 font-lock-variable-name-face) ) - ("\\(initialize by copy\\) *{" - (1 font-lock-keyword-face) ) - ("\\(block\\|section\\) +\\([_.a-zA-Z0-9]+\\)" - (1 font-lock-keyword-face) - (2 font-lock-variable-name-face) ) - ) - (list "\\.\\(icf\\)\\'") - (list - (lambda () (setq comment-start "/* " comment-end " */")) - ) - "Generic mode for iar linker config files.") - -(provide 'iar-linker-config-mode) - -;;; iar-linker-config-mode.el ends here diff -r e4711ae3529f -r f697f2772ec9 iar4-linker-config-mode.el --- a/iar4-linker-config-mode.el Fri Jan 01 20:21:33 2021 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,53 +0,0 @@ -;;; iar-linker-config-mode.el --- major mode for highlighting IAR Embedded Workbench 4.x linker scripts - -;; Copyright (C) 2009, 2010 by Oleksandr Gavenko - -;; You can do anything with this file without any warranty. - -;; Author: Oleksandr Gavenko -;; Maintainer: Oleksandr Gavenko -;; Created: 2009-11-04 -;; Version: 0.1 -;; Keywords: languages - -;;; Commentary: -;; -;; Very pure highlighting and not all available syntax. - -;;; Code: - -;;;###autoload -(define-generic-mode iar4-linker-config-mode - '("// " ("/*" . "*/")) - nil - '( - ("^\\(-c\\)\\([_a-zA-Z]+\\)" - (1 font-lock-keyword-face) - (2 font-lock-variable-name-face) ) - ("^\\(-D\\)\\([_a-zA-Z0-9]+\\)=\\(\\(0x\\)?[0-9a-fA-F]+\\|.[0-9]+\\)" - (1 font-lock-keyword-face) - (2 font-lock-variable-name-face) - (3 font-lock-constant-face) ) - ("^\\(-Q\\)\\([_a-zA-Z]+\\)=\\([_a-zA-Z]+\\)" - (1 font-lock-keyword-face) - (2 font-lock-variable-name-face) - (3 font-lock-variable-name-face) ) - ("^\\(-Z\\|-P\\|-b\\)(\\([_a-zA-Z]+\\))\\([_a-zA-Z]+\\)=" - (1 font-lock-keyword-face) - (2 font-lock-variable-name-face) - (3 font-lock-variable-name-face) ) - ("^\\(-Z\\|-P\\|-b\\)(\\([_a-zA-Z]+\\))\\([_a-zA-Z]+\\)\\+\\([_a-zA-Z]+\\)=" - (1 font-lock-keyword-face) - (2 font-lock-variable-name-face) - (3 font-lock-variable-name-face) - (4 font-lock-variable-name-face) ) - ) - (list "\\.\\(xcl\\)\\'") - (list - (lambda () (setq comment-start "// " comment-end "")) - ) - "Generic mode for iar linker config files.") - -(provide 'iar4-linker-config-mode) - -;;; iar4-linker-config-mode.el ends here diff -r e4711ae3529f -r f697f2772ec9 mylisp-obsolete/company-dom.el --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mylisp-obsolete/company-dom.el Fri Jan 01 20:32:49 2021 +0200 @@ -0,0 +1,52 @@ +(require 'company) +(require 'cl-lib) +(require 'web-mode) + +(unless (fboundp 'web-mode-language-at-pos) + (defun web-mode-language-at-pos (&optional pos) + (plist-get (web-mode-point-context (or pos (point))) :language))) + +(defvar company-dom--document-methods + '("getElementById" "getElementsByClassName" "createElement" "createElementNS" "createEvent")) + +(defvar company-dom--window-methods + '("console" "document" "location")) + +(defun company-dom--prefix () + (when (looking-back "\\<\\w+\\(?:\\.?\\w+\\>\\|\\.\\)") + (match-string 0))) + +(defun company-dom--candidates (prefix) + (cond + ((string-match "^window\\.\\(.*\\)" prefix) + (mapcar + (lambda (str) (concat "window." str)) + (all-completions (match-string 1) company-dom--window-methods))) + ((string-match "^document\\.\\(.*\\)" prefix) + (mapcar + (lambda (str) (concat "document." str)) + (all-completions (match-string 1) company-dom--document-methods))) + (t + (all-completions prefix '("document" "window"))) + )) + +(defun company-web (command &optional arg &rest ignored) + (interactive (list 'interactive)) + (cl-case command + (interactive (company-begin-backend 'company-web)) + (prefix + (pcase (plist-get (web-mode-point-context (point)) :language) + ("css" (company-css 'prefix)) + ("javascript" (company-dom--prefix)))) + (candidates + (pcase (plist-get (web-mode-point-context (point)) :language) + ("css" (company-css 'candidates arg)) + ("javascript" (company-dom--candidates arg)))) + (meta (format "This value is named %s" arg)))) + +(defun company-web-register () + (set (make-local-variable 'company-backends) '(company-web))) + +(add-hook 'web-mode-hook #'company-web-register) + +;; Debug company with M-x company-diag. diff -r e4711ae3529f -r f697f2772ec9 mylisp-obsolete/iar-linker-config-mode.el --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mylisp-obsolete/iar-linker-config-mode.el Fri Jan 01 20:32:49 2021 +0200 @@ -0,0 +1,71 @@ +;;; iar-linker-config-mode.el --- major mode for highlighting IAR Embedded Workbench 5.x linker scripts + +;; Copyright (C) 2009, 2010 by Oleksandr Gavenko + +;; You can do anything with this file without any warranty. + +;; Author: Oleksandr Gavenko +;; Maintainer: Oleksandr Gavenko +;; Created: 2009-11-08 +;; Version: 0.1 +;; Keywords: languages + +;;; Commentary: +;; +;; Very pure highlighting and not all available syntax. + +;;; Code: + +;;;###autoload +(define-generic-mode iar-linker-config-mode + '("// " ("/*" . "*/")) + '("zeroinit" "code" "readwrite" "rw" "readonly" "ro") + '( + ("\\(define +symbol\\) +\\([_a-zA-Z0-9]+\\) *= *\\(0x[0-9a-fA-F]+\\);" + (1 font-lock-keyword-face) + (2 font-lock-variable-name-face) + (3 font-lock-constant-face) ) + ("\\(define +memory\\) +\\([_a-zA-Z]+\\) +\\(with +size\\) = \\(0x[0-9a-fA-F]+\\|[0-9]+\\)[GMK]?;" + (1 font-lock-keyword-face) + (2 font-lock-variable-name-face) + (3 font-lock-keyword-face) + (4 font-lock-constant-face) ) + ("\\([_a-zA-Z]+\\):\\[\\(from\\) +\\([_a-zA-Z0-9]+\\) +\\(to\\|size\\) +\\([_a-zA-Z0-9]+\\)\\]" + (1 font-lock-variable-name-face) + (2 font-lock-keyword-face) + (3 font-lock-variable-name-face) + (4 font-lock-keyword-face) + (5 font-lock-variable-name-face) ) + ("\\(define +region\\) +\\([_a-zA-Z]+\\) *=" + (1 font-lock-keyword-face) + (2 font-lock-variable-name-face) ) + ("\\(define +block\\) +\\([_a-zA-Z]+\\) +\\(with +alignment\\) *= *[0-9]+, *\\(size\\) *= *\\([_a-zA-Z]+\\).*;" + (1 font-lock-keyword-face) + (2 font-lock-variable-name-face) + (3 font-lock-keyword-face) + (4 font-lock-keyword-face) + (5 font-lock-variable-name-face) ) + ("\\(do +not +initialize\\) *{" + (1 font-lock-keyword-face) ) + ("\\(place +in\\) +\\([_a-zA-Z]+\\) *{" + (1 font-lock-keyword-face) + (2 font-lock-variable-name-face) ) + ("\\(place +at +address\\) +\\([_a-zA-Z]+\\):\\([_a-zA-Z]+\\) *{" + (1 font-lock-keyword-face) + (2 font-lock-variable-name-face) + (3 font-lock-variable-name-face) ) + ("\\(initialize by copy\\) *{" + (1 font-lock-keyword-face) ) + ("\\(block\\|section\\) +\\([_.a-zA-Z0-9]+\\)" + (1 font-lock-keyword-face) + (2 font-lock-variable-name-face) ) + ) + (list "\\.\\(icf\\)\\'") + (list + (lambda () (setq comment-start "/* " comment-end " */")) + ) + "Generic mode for iar linker config files.") + +(provide 'iar-linker-config-mode) + +;;; iar-linker-config-mode.el ends here diff -r e4711ae3529f -r f697f2772ec9 mylisp-obsolete/iar4-linker-config-mode.el --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mylisp-obsolete/iar4-linker-config-mode.el Fri Jan 01 20:32:49 2021 +0200 @@ -0,0 +1,53 @@ +;;; iar-linker-config-mode.el --- major mode for highlighting IAR Embedded Workbench 4.x linker scripts + +;; Copyright (C) 2009, 2010 by Oleksandr Gavenko + +;; You can do anything with this file without any warranty. + +;; Author: Oleksandr Gavenko +;; Maintainer: Oleksandr Gavenko +;; Created: 2009-11-04 +;; Version: 0.1 +;; Keywords: languages + +;;; Commentary: +;; +;; Very pure highlighting and not all available syntax. + +;;; Code: + +;;;###autoload +(define-generic-mode iar4-linker-config-mode + '("// " ("/*" . "*/")) + nil + '( + ("^\\(-c\\)\\([_a-zA-Z]+\\)" + (1 font-lock-keyword-face) + (2 font-lock-variable-name-face) ) + ("^\\(-D\\)\\([_a-zA-Z0-9]+\\)=\\(\\(0x\\)?[0-9a-fA-F]+\\|.[0-9]+\\)" + (1 font-lock-keyword-face) + (2 font-lock-variable-name-face) + (3 font-lock-constant-face) ) + ("^\\(-Q\\)\\([_a-zA-Z]+\\)=\\([_a-zA-Z]+\\)" + (1 font-lock-keyword-face) + (2 font-lock-variable-name-face) + (3 font-lock-variable-name-face) ) + ("^\\(-Z\\|-P\\|-b\\)(\\([_a-zA-Z]+\\))\\([_a-zA-Z]+\\)=" + (1 font-lock-keyword-face) + (2 font-lock-variable-name-face) + (3 font-lock-variable-name-face) ) + ("^\\(-Z\\|-P\\|-b\\)(\\([_a-zA-Z]+\\))\\([_a-zA-Z]+\\)\\+\\([_a-zA-Z]+\\)=" + (1 font-lock-keyword-face) + (2 font-lock-variable-name-face) + (3 font-lock-variable-name-face) + (4 font-lock-variable-name-face) ) + ) + (list "\\.\\(xcl\\)\\'") + (list + (lambda () (setq comment-start "// " comment-end "")) + ) + "Generic mode for iar linker config files.") + +(provide 'iar4-linker-config-mode) + +;;; iar4-linker-config-mode.el ends here diff -r e4711ae3529f -r f697f2772ec9 mylisp-obsolete/nsis-mode.el --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mylisp-obsolete/nsis-mode.el Fri Jan 01 20:32:49 2021 +0200 @@ -0,0 +1,104 @@ +;;; iar-linker-config-mode.el --- major mode for highlighting NSIS scripts + +;; Copyright (C) 2009, 2010 by Oleksandr Gavenko + +;; You can do anything with this file without any warranty. + +;; Author: Oleksandr Gavenko +;; Maintainer: Oleksandr Gavenko +;; Created: 2009-09-14 +;; Version: 0.1 +;; Keywords: languages + +;;; Commentary: +;; +;; Very pure syntax highlighting. + +;;; Code: + +(defun nsis-mode-modify-syntax-entry () + (modify-syntax-entry ?_ "w") + (modify-syntax-entry ?. "w") + (modify-syntax-entry ?$ ".") + ) + +(defun nsis-mode-set-comment-style () + (set (make-local-variable 'comment-start) "; ") + (set (make-local-variable 'comment-continue) nil) + (set (make-local-variable 'comment-end) "") + (set (make-local-variable 'comment-end-skip) nil) + (set (make-local-variable 'comment-multi-line) nil) + (set (make-local-variable 'comment-use-syntax) t) + ) + +;;;###autoload +(define-generic-mode nsis-mode + (list ?\; ?# '("/*" . "*/")) + '( + "Section" "SectionEnd" "SectionIn" "SectionGroup" "SectionGroupEnd" "Function" "FunctionEnd" "File" + "SectionSetFlags" "SectionGetFlags" "SectionSetText" "SectionGetText" "SectionSetInstTypes" "SectionGetInstTypes" "SectionSetSize" "SectionGetSize" "SetCurInstType" "GetCurInstType" "InstTypeSetText" "InstTypeGetText" + "Name" "ShowInstDetails" "Caption" + "LicenseText" "LicenseData" "LicenseForceSelection" "ComponentText" "BrandingText" "DetailsButtonText" "CompletedText" "UninstallText" + "DirText" "DirVar" "DirVerify" + "Exec" "ExecWait" "ExecShell" "Goto" "goto" "Call" "Return" "Abort" "Quit" "ClearErrors" "SetErrors" + "Reboot" "SetRebootFlag" + "IfSilent" "IfAbort" "IfRebootFlag" "IfErrors" "IfFileExists" + "GetCurrentAddress" "GetFunctionAddress" "GetLabelAddress" + "Page" "UninstPage" "PageEx" "PageCallbacks" "PageExEnd" + "Delete" "CopyFiles" "CreateDirectory" "RMDir" "OutFile" "ReserveFile" "CreateShortCut" + "CallInstDLL" "GetDLLVersion" "GetDLLVersionLocal" "RegDLL" "UnRegDLL" + "GetFileTime" "GetFileTimeLocal" "GetFullPathName" "GetTempFileName" "SearchPath" "SetFileAttributes" + "ReadRegStr" "WriteRegStr" "DeleteRegKey" "DeleteRegValue" "EnumRegKey" "EnumRegValue" "WriteRegDWORD" "ReadRegDWORD" "WriteRegDword" "WriteRegBin" "WriteRegDWORD" "WriteRegExpandStr" + "ExpandEnvStrings" "ReadEnvStr" + "DeleteINISec" "DeleteINIStr" "FlushINI" "ReadINIStr" "WriteINIStr" + "Var" "Pop" "Push" "Exch" + "StrLen" "StrCpy" "StrCmp" "StrCmpS" "IntCmp" "IntCmpU" "IntFmt" "IntOp" + "FileClose" "FileOpen" "FileRead" "FileReadByte" "FileSeek" "FileWrite" "FileWriteByte" "FindClose" "FindFirst" "FindNext" + "InitPluginsDir" "addplugindir" "InstallDir" "InstallDirRegKey" "InstType" "Nop" "Sleep" + "RequestExecutionLevel" "CRCCheck" "XPStyle" + "ReadIniStr" "WriteIniStr" + "LogSet" "LogText" + "Icon" "UninstallIcon" + "SendMessage" "MessageBox" "GetDlgItem" + "FindWindow" "EnableWindow" "LockWindow" "ShowWindow" "HideWindow" "IsWindow" "AutoCloseWindow" + "SetAutoClose" "CreateFont" "SetCtlColors" "SetBrandingImage" "SetDetailsView" "SetDetailsPrint" "SetSilent" "BringToFront" "DetailPrint" + "LoadLanguageFile" "LangString" "LicenseLangString" + "SubCaption" "UninstallSubCaption" + "SetPluginUnload" "DetailPrint" "SetOutPath" "WriteUninstaller" + "GetErrorLevel" "SetErrorLevel" "GetInstDirError" "SetRegView" "SetShellVarContext" + "SetDateSave" "SetDatablockOptimize" "BGGradient" "InstallColors" "CheckBitmap" "SilentInstall" "SetOverwrite" + "SetCompress" + ) + '( + ("!\\(insertmacro\\|define\\|ifdef\\|ifndef\\|else\\|endif\\|echo\\|verbose\\|include\\|macroend\\|macro\\|undef\\|packhdr\\|warning\\|error\\)" (1 'font-lock-builtin-face)) + ("$[({]?\\([A-Za-z0-9_]+\\)[)}]?" (1 'font-lock-variable-name-face)) + ("^[[:blank:]]*\\([[:alpha:].][[:alnum:]_.]*:\\)\\([^:]\\|$\\)" (1 'font-lock-function-name-face)) + ("^[[:blank:]]*\\(Function\\|Goto\\|Call\\)[[:blank:]]+\\([[:alnum:]_.]*\\)" (2 'font-lock-function-name-face)) + ) + '("\\.nsi\\'" "\\.nsh\\'") + '(nsis-mode-modify-syntax-entry nsis-mode-set-comment-style) + "Generic mode for nsis files.") + +(defvar nsis-imenu-generic-expression + '( + ("Defines" "^!define[[:blank:]]+\\([[:word:]]+\\)" 1) + ("Sections" "^Section[[:blank:]]+\"?\\(-?[[:word:] ]+\\)\"?" 1) + ("Functions" "^Function[[:blank:]]+\\([[:word:]]+\\)" 1) + ("Macros" "^!macro[[:blank:]]+\\([[:word:]]+\\)" 1) + )) + +(defun nsis-set-imenu-generic-expression () + (setq imenu-generic-expression nsis-imenu-generic-expression) + ) + +(add-hook 'nsis-mode-hook 'nsis-set-imenu-generic-expression) + +(eval-when-compile + (defvar which-func-modes)) + +(eval-after-load 'which-func + '(add-to-list 'which-func-modes 'nsis-mode)) + +(provide 'nsis-mode) + +;;; nsis-mode.el ends here diff -r e4711ae3529f -r f697f2772ec9 nsis-mode.el --- a/nsis-mode.el Fri Jan 01 20:21:33 2021 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,104 +0,0 @@ -;;; iar-linker-config-mode.el --- major mode for highlighting NSIS scripts - -;; Copyright (C) 2009, 2010 by Oleksandr Gavenko - -;; You can do anything with this file without any warranty. - -;; Author: Oleksandr Gavenko -;; Maintainer: Oleksandr Gavenko -;; Created: 2009-09-14 -;; Version: 0.1 -;; Keywords: languages - -;;; Commentary: -;; -;; Very pure syntax highlighting. - -;;; Code: - -(defun nsis-mode-modify-syntax-entry () - (modify-syntax-entry ?_ "w") - (modify-syntax-entry ?. "w") - (modify-syntax-entry ?$ ".") - ) - -(defun nsis-mode-set-comment-style () - (set (make-local-variable 'comment-start) "; ") - (set (make-local-variable 'comment-continue) nil) - (set (make-local-variable 'comment-end) "") - (set (make-local-variable 'comment-end-skip) nil) - (set (make-local-variable 'comment-multi-line) nil) - (set (make-local-variable 'comment-use-syntax) t) - ) - -;;;###autoload -(define-generic-mode nsis-mode - (list ?\; ?# '("/*" . "*/")) - '( - "Section" "SectionEnd" "SectionIn" "SectionGroup" "SectionGroupEnd" "Function" "FunctionEnd" "File" - "SectionSetFlags" "SectionGetFlags" "SectionSetText" "SectionGetText" "SectionSetInstTypes" "SectionGetInstTypes" "SectionSetSize" "SectionGetSize" "SetCurInstType" "GetCurInstType" "InstTypeSetText" "InstTypeGetText" - "Name" "ShowInstDetails" "Caption" - "LicenseText" "LicenseData" "LicenseForceSelection" "ComponentText" "BrandingText" "DetailsButtonText" "CompletedText" "UninstallText" - "DirText" "DirVar" "DirVerify" - "Exec" "ExecWait" "ExecShell" "Goto" "goto" "Call" "Return" "Abort" "Quit" "ClearErrors" "SetErrors" - "Reboot" "SetRebootFlag" - "IfSilent" "IfAbort" "IfRebootFlag" "IfErrors" "IfFileExists" - "GetCurrentAddress" "GetFunctionAddress" "GetLabelAddress" - "Page" "UninstPage" "PageEx" "PageCallbacks" "PageExEnd" - "Delete" "CopyFiles" "CreateDirectory" "RMDir" "OutFile" "ReserveFile" "CreateShortCut" - "CallInstDLL" "GetDLLVersion" "GetDLLVersionLocal" "RegDLL" "UnRegDLL" - "GetFileTime" "GetFileTimeLocal" "GetFullPathName" "GetTempFileName" "SearchPath" "SetFileAttributes" - "ReadRegStr" "WriteRegStr" "DeleteRegKey" "DeleteRegValue" "EnumRegKey" "EnumRegValue" "WriteRegDWORD" "ReadRegDWORD" "WriteRegDword" "WriteRegBin" "WriteRegDWORD" "WriteRegExpandStr" - "ExpandEnvStrings" "ReadEnvStr" - "DeleteINISec" "DeleteINIStr" "FlushINI" "ReadINIStr" "WriteINIStr" - "Var" "Pop" "Push" "Exch" - "StrLen" "StrCpy" "StrCmp" "StrCmpS" "IntCmp" "IntCmpU" "IntFmt" "IntOp" - "FileClose" "FileOpen" "FileRead" "FileReadByte" "FileSeek" "FileWrite" "FileWriteByte" "FindClose" "FindFirst" "FindNext" - "InitPluginsDir" "addplugindir" "InstallDir" "InstallDirRegKey" "InstType" "Nop" "Sleep" - "RequestExecutionLevel" "CRCCheck" "XPStyle" - "ReadIniStr" "WriteIniStr" - "LogSet" "LogText" - "Icon" "UninstallIcon" - "SendMessage" "MessageBox" "GetDlgItem" - "FindWindow" "EnableWindow" "LockWindow" "ShowWindow" "HideWindow" "IsWindow" "AutoCloseWindow" - "SetAutoClose" "CreateFont" "SetCtlColors" "SetBrandingImage" "SetDetailsView" "SetDetailsPrint" "SetSilent" "BringToFront" "DetailPrint" - "LoadLanguageFile" "LangString" "LicenseLangString" - "SubCaption" "UninstallSubCaption" - "SetPluginUnload" "DetailPrint" "SetOutPath" "WriteUninstaller" - "GetErrorLevel" "SetErrorLevel" "GetInstDirError" "SetRegView" "SetShellVarContext" - "SetDateSave" "SetDatablockOptimize" "BGGradient" "InstallColors" "CheckBitmap" "SilentInstall" "SetOverwrite" - "SetCompress" - ) - '( - ("!\\(insertmacro\\|define\\|ifdef\\|ifndef\\|else\\|endif\\|echo\\|verbose\\|include\\|macroend\\|macro\\|undef\\|packhdr\\|warning\\|error\\)" (1 'font-lock-builtin-face)) - ("$[({]?\\([A-Za-z0-9_]+\\)[)}]?" (1 'font-lock-variable-name-face)) - ("^[[:blank:]]*\\([[:alpha:].][[:alnum:]_.]*:\\)\\([^:]\\|$\\)" (1 'font-lock-function-name-face)) - ("^[[:blank:]]*\\(Function\\|Goto\\|Call\\)[[:blank:]]+\\([[:alnum:]_.]*\\)" (2 'font-lock-function-name-face)) - ) - '("\\.nsi\\'" "\\.nsh\\'") - '(nsis-mode-modify-syntax-entry nsis-mode-set-comment-style) - "Generic mode for nsis files.") - -(defvar nsis-imenu-generic-expression - '( - ("Defines" "^!define[[:blank:]]+\\([[:word:]]+\\)" 1) - ("Sections" "^Section[[:blank:]]+\"?\\(-?[[:word:] ]+\\)\"?" 1) - ("Functions" "^Function[[:blank:]]+\\([[:word:]]+\\)" 1) - ("Macros" "^!macro[[:blank:]]+\\([[:word:]]+\\)" 1) - )) - -(defun nsis-set-imenu-generic-expression () - (setq imenu-generic-expression nsis-imenu-generic-expression) - ) - -(add-hook 'nsis-mode-hook 'nsis-set-imenu-generic-expression) - -(eval-when-compile - (defvar which-func-modes)) - -(eval-after-load 'which-func - '(add-to-list 'which-func-modes 'nsis-mode)) - -(provide 'nsis-mode) - -;;; nsis-mode.el ends here