cmake-mode.el: Clean up cmake-command-run and add buffername argument
This commit is contained in:
parent
2816ffae90
commit
2a1314150e
|
@ -266,38 +266,22 @@ the indentation. Otherwise it retains the same position on the line"
|
|||
|
||||
|
||||
;;;###autoload
|
||||
(defun cmake-command-run (type &optional topic)
|
||||
(defun cmake-command-run (type &optional topic buffer)
|
||||
"Runs the command cmake with the arguments specified. The
|
||||
optional argument topic will be appended to the argument list."
|
||||
(interactive "s")
|
||||
(let* ((bufname (concat "*CMake" type (if topic "-") topic "*"))
|
||||
(buffer (get-buffer bufname))
|
||||
(let* ((bufname (if buffer buffer (concat "*CMake" type (if topic "-") topic "*")))
|
||||
(buffer (if (get-buffer bufname) (get-buffer bufname) (generate-new-buffer bufname)))
|
||||
(command (concat cmake-mode-cmake-executable " " type " " topic))
|
||||
;; Turn of resizing of mini-windows for shell-command.
|
||||
(resize-mini-windows nil)
|
||||
)
|
||||
(if buffer
|
||||
(display-buffer buffer 'not-this-window)
|
||||
;; Buffer doesn't exist. Create it and fill it
|
||||
(let ((buffer (generate-new-buffer bufname))
|
||||
(command (concat cmake-mode-cmake-executable " " type " " topic))
|
||||
)
|
||||
(message "Running %s" command)
|
||||
;; We don't want the contents of the shell-command running to the
|
||||
;; minibuffer, so turn it off. A value of nil means don't automatically
|
||||
;; resize mini-windows.
|
||||
(setq resize-mini-windows-save resize-mini-windows)
|
||||
(setq resize-mini-windows nil)
|
||||
(shell-command command buffer)
|
||||
;; Save the original window, so that we can come back to it later.
|
||||
;; save-excursion doesn't seem to work for this.
|
||||
(setq window (selected-window))
|
||||
;; We need to select it so that we can apply special modes to it
|
||||
(select-window (display-buffer buffer 'not-this-window))
|
||||
(cmake-mode)
|
||||
(toggle-read-only t)
|
||||
;; Restore the original window
|
||||
(select-window window)
|
||||
(setq resize-mini-windows resize-mini-windows-save)
|
||||
)
|
||||
)
|
||||
(shell-command command buffer)
|
||||
(save-selected-window
|
||||
(select-window (display-buffer buffer 'not-this-window))
|
||||
(cmake-mode)
|
||||
(toggle-read-only t))
|
||||
(setq resize-mini-windows resize-mini-windows-save)
|
||||
)
|
||||
)
|
||||
|
||||
|
@ -327,12 +311,11 @@ optional argument topic will be appended to the argument list."
|
|||
input))
|
||||
)
|
||||
|
||||
|
||||
;;;###autoload
|
||||
(defun cmake-help-command ()
|
||||
"Prints out the help message corresponding to the command the cursor is on."
|
||||
(interactive)
|
||||
(cmake-command-run "--help-command" (downcase (cmake-get-topic "command"))))
|
||||
(cmake-command-run "--help-command" (downcase (cmake-get-topic "command")) "*CMake Help*"))
|
||||
|
||||
|
||||
;;;###autoload
|
||||
|
|
Loading…
Reference in New Issue