| Index: tools/emacs/gyp.el
|
| diff --git a/tools/emacs/gyp.el b/tools/emacs/gyp.el
|
| index 60619b52c83555344468dc30183f554fe6c71fc9..b98b155cedad03161d04a9d6a0d24c60f834a751 100644
|
| --- a/tools/emacs/gyp.el
|
| +++ b/tools/emacs/gyp.el
|
| @@ -23,7 +23,28 @@
|
| (buffer-substring-no-properties
|
| (line-beginning-position) (line-end-position))))
|
| (setf (first python-indent-levels)
|
| - (- (first python-indent-levels) python-indent-offset))))
|
| + (- (first python-indent-levels) python-continuation-offset))))
|
| +
|
| +(defadvice python-indent-guess-indent-offset (around
|
| + gyp-indent-guess-indent-offset
|
| + activate)
|
| + "Guess correct indent offset in gyp-mode."
|
| + (or (and (not (eq major-mode 'gyp-mode))
|
| + ad-do-it)
|
| + (save-excursion
|
| + (save-restriction
|
| + (widen)
|
| + (goto-char (point-min))
|
| + ;; Find first line ending with an opening brace that is not a comment.
|
| + (or (and (re-search-forward "\\(^[[{]$\\|^.*[^#].*[[{]$\\)")
|
| + (forward-line)
|
| + (/= (current-indentation) 0)
|
| + (set (make-local-variable 'python-indent-offset)
|
| + (current-indentation))
|
| + (set (make-local-variable 'python-continuation-offset)
|
| + (current-indentation)))
|
| + (message "Can't guess gyp indent offset, using default: %s"
|
| + python-continuation-offset))))))
|
|
|
| (define-derived-mode gyp-mode python-mode "Gyp"
|
| "Major mode for editing .gyp files. See http://code.google.com/p/gyp/"
|
| @@ -36,9 +57,10 @@
|
|
|
| (defun gyp-set-indentation ()
|
| "Hook function to configure python indentation to suit gyp mode."
|
| - (setq python-continuation-offset 2
|
| - python-indent-offset 2
|
| - python-indent-guess-indent-offset nil))
|
| + (set (make-local-variable 'python-indent-offset) 2)
|
| + (set (make-local-variable 'python-continuation-offset) 2)
|
| + (set (make-local-variable 'python-indent-guess-indent-offset) t)
|
| + (python-indent-guess-indent-offset))
|
|
|
| (add-hook 'gyp-mode-hook 'gyp-set-indentation)
|
|
|
| @@ -223,7 +245,7 @@
|
| "copies" "defines" "dependencies" "destination"
|
| "direct_dependent_settings"
|
| "export_dependent_settings" "extension" "files"
|
| - "include_dirs" "includes" "inputs" "libraries"
|
| + "include_dirs" "includes" "inputs" "ldflags" "libraries"
|
| "link_settings" "mac_bundle" "message"
|
| "msvs_external_rule" "outputs" "product_name"
|
| "process_outputs_as_sources" "rules" "rule_name"
|
|
|