Compare commits
2 commits
4f1e9b2dd9
...
2e9149f2c7
Author | SHA1 | Date | |
---|---|---|---|
KemoNine | 2e9149f2c7 | ||
KemoNine | 0b54a5c96b |
|
@ -1,59 +0,0 @@
|
||||||
;;; transpose-frame-autoloads.el --- automatically extracted autoloads -*- lexical-binding: t -*-
|
|
||||||
;;
|
|
||||||
;;; Code:
|
|
||||||
|
|
||||||
(add-to-list 'load-path (directory-file-name
|
|
||||||
(or (file-name-directory #$) (car load-path))))
|
|
||||||
|
|
||||||
|
|
||||||
;;;### (autoloads nil "transpose-frame" "transpose-frame.el" (0 0
|
|
||||||
;;;;;; 0 0))
|
|
||||||
;;; Generated autoloads from transpose-frame.el
|
|
||||||
|
|
||||||
(autoload 'transpose-frame "transpose-frame" "\
|
|
||||||
Transpose windows arrangement at FRAME.
|
|
||||||
Omitting FRAME means currently selected frame.
|
|
||||||
|
|
||||||
\(fn &optional FRAME)" t nil)
|
|
||||||
|
|
||||||
(autoload 'flip-frame "transpose-frame" "\
|
|
||||||
Flip windows arrangement vertically at FRAME.
|
|
||||||
Omitting FRAME means currently selected frame.
|
|
||||||
|
|
||||||
\(fn &optional FRAME)" t nil)
|
|
||||||
|
|
||||||
(autoload 'flop-frame "transpose-frame" "\
|
|
||||||
Flop windows arrangement horizontally at FRAME.
|
|
||||||
Omitting FRAME means currently selected frame.
|
|
||||||
|
|
||||||
\(fn &optional FRAME)" t nil)
|
|
||||||
|
|
||||||
(autoload 'rotate-frame "transpose-frame" "\
|
|
||||||
Rotate windows arrangement 180 degrees at FRAME.
|
|
||||||
Omitting FRAME means currently selected frame.
|
|
||||||
|
|
||||||
\(fn &optional FRAME)" t nil)
|
|
||||||
|
|
||||||
(autoload 'rotate-frame-clockwise "transpose-frame" "\
|
|
||||||
Rotate windows arrangement 90 degrees clockwise at FRAME.
|
|
||||||
Omitting FRAME means currently selected frame.
|
|
||||||
|
|
||||||
\(fn &optional FRAME)" t nil)
|
|
||||||
|
|
||||||
(autoload 'rotate-frame-anticlockwise "transpose-frame" "\
|
|
||||||
Rotate windows arrangement 90 degrees anti-clockwise at FRAME.
|
|
||||||
Omitting FRAME means currently selected frame.
|
|
||||||
|
|
||||||
\(fn &optional FRAME)" t nil)
|
|
||||||
|
|
||||||
(register-definition-prefixes "transpose-frame" '("transpose-frame-"))
|
|
||||||
|
|
||||||
;;;***
|
|
||||||
|
|
||||||
;; Local Variables:
|
|
||||||
;; version-control: never
|
|
||||||
;; no-byte-compile: t
|
|
||||||
;; no-update-autoloads: t
|
|
||||||
;; coding: utf-8
|
|
||||||
;; End:
|
|
||||||
;;; transpose-frame-autoloads.el ends here
|
|
|
@ -1,2 +0,0 @@
|
||||||
;;; Generated package description from transpose-frame.el -*- no-byte-compile: t -*-
|
|
||||||
(define-package "transpose-frame" "20220913.1749" "Transpose windows arrangement in a frame" 'nil :commit "7b7f8a1582436749a57ebbba6ead716b5a0edddc" :authors '(("S. Irie")) :maintainer '("S. Irie") :keywords '("window"))
|
|
|
@ -1,237 +0,0 @@
|
||||||
;;; transpose-frame.el --- Transpose windows arrangement in a frame
|
|
||||||
|
|
||||||
;; Copyright (c) 2011 S. Irie
|
|
||||||
|
|
||||||
;; Author: S. Irie
|
|
||||||
;; Keywords: window
|
|
||||||
;; Package-Version: 20220913.1749
|
|
||||||
;; Package-Commit: 7b7f8a1582436749a57ebbba6ead716b5a0edddc
|
|
||||||
|
|
||||||
;; This program is free software.
|
|
||||||
|
|
||||||
;; Redistribution and use in source and binary forms, with or without
|
|
||||||
;; modification, are permitted provided that the following conditions
|
|
||||||
;; are met:
|
|
||||||
|
|
||||||
;; 1. Redistributions of source code must retain the above copyright
|
|
||||||
;; notice, this list of conditions and the following disclaimer.
|
|
||||||
;; 2. Redistributions in binary form must reproduce the above copyright
|
|
||||||
;; notice, this list of conditions and the following disclaimer in the
|
|
||||||
;; documentation and/or other materials provided with the distribution.
|
|
||||||
|
|
||||||
;; THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
|
||||||
;; "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
|
||||||
;; LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
|
||||||
;; A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
|
||||||
;; OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
|
||||||
;; SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
|
|
||||||
;; TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
|
|
||||||
;; PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
|
|
||||||
;; LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
|
||||||
;; NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
|
||||||
;; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
|
|
||||||
;;; Commentary:
|
|
||||||
|
|
||||||
;; This program provides some interactive functions which allows users
|
|
||||||
;; to transpose windows arrangement in currently selected frame:
|
|
||||||
;;
|
|
||||||
;; `transpose-frame' ... Swap x-direction and y-direction
|
|
||||||
;;
|
|
||||||
;; +------------+------------+ +----------------+--------+
|
|
||||||
;; | | B | | A | |
|
|
||||||
;; | A +------------+ | | |
|
|
||||||
;; | | C | => +--------+-------+ D |
|
|
||||||
;; +------------+------------+ | B | C | |
|
|
||||||
;; | D | | | | |
|
|
||||||
;; +-------------------------+ +--------+-------+--------+
|
|
||||||
;;
|
|
||||||
;; `flip-frame' ... Flip vertically
|
|
||||||
;;
|
|
||||||
;; +------------+------------+ +------------+------------+
|
|
||||||
;; | | B | | D |
|
|
||||||
;; | A +------------+ +------------+------------+
|
|
||||||
;; | | C | => | | C |
|
|
||||||
;; +------------+------------+ | A +------------+
|
|
||||||
;; | D | | | B |
|
|
||||||
;; +-------------------------+ +------------+------------+
|
|
||||||
;;
|
|
||||||
;; `flop-frame' ... Flop horizontally
|
|
||||||
;;
|
|
||||||
;; +------------+------------+ +------------+------------+
|
|
||||||
;; | | B | | B | |
|
|
||||||
;; | A +------------+ +------------+ A |
|
|
||||||
;; | | C | => | C | |
|
|
||||||
;; +------------+------------+ +------------+------------+
|
|
||||||
;; | D | | D |
|
|
||||||
;; +-------------------------+ +-------------------------+
|
|
||||||
;;
|
|
||||||
;; `rotate-frame' ... Rotate 180 degrees
|
|
||||||
;;
|
|
||||||
;; +------------+------------+ +-------------------------+
|
|
||||||
;; | | B | | D |
|
|
||||||
;; | A +------------+ +------------+------------+
|
|
||||||
;; | | C | => | C | |
|
|
||||||
;; +------------+------------+ +------------+ A |
|
|
||||||
;; | D | | B | |
|
|
||||||
;; +-------------------------+ +------------+------------+
|
|
||||||
;;
|
|
||||||
;; `rotate-frame-clockwise' ... Rotate 90 degrees clockwise
|
|
||||||
;;
|
|
||||||
;; +------------+------------+ +-------+-----------------+
|
|
||||||
;; | | B | | | A |
|
|
||||||
;; | A +------------+ | | |
|
|
||||||
;; | | C | => | D +--------+--------+
|
|
||||||
;; +------------+------------+ | | B | C |
|
|
||||||
;; | D | | | | |
|
|
||||||
;; +-------------------------+ +-------+--------+--------+
|
|
||||||
;;
|
|
||||||
;; `rotate-frame-anticlockwise' ... Rotate 90 degrees anti-clockwise
|
|
||||||
;;
|
|
||||||
;; +------------+------------+ +--------+--------+-------+
|
|
||||||
;; | | B | | B | C | |
|
|
||||||
;; | A +------------+ | | | |
|
|
||||||
;; | | C | => +--------+--------+ D |
|
|
||||||
;; +------------+------------+ | A | |
|
|
||||||
;; | D | | | |
|
|
||||||
;; +-------------------------+ +-----------------+-------+
|
|
||||||
;;
|
|
||||||
;; This program is tested on GNU Emacs 22, 23.
|
|
||||||
|
|
||||||
;;; Code:
|
|
||||||
;;; Internal functions
|
|
||||||
|
|
||||||
(defun transpose-frame-get-arrangement (&optional frame subtree)
|
|
||||||
(let ((tree (or subtree
|
|
||||||
(car (window-tree frame)))))
|
|
||||||
(if (windowp tree)
|
|
||||||
(list (window-buffer tree)
|
|
||||||
(window-start tree)
|
|
||||||
(window-point tree)
|
|
||||||
(window-hscroll tree)
|
|
||||||
(window-margins tree)
|
|
||||||
(window-fringes tree)
|
|
||||||
(window-dedicated-p tree)
|
|
||||||
(jit-lock-register tree)
|
|
||||||
tree
|
|
||||||
(eq tree (frame-selected-window frame)))
|
|
||||||
(let* ((vertical (car tree))
|
|
||||||
(edges (cadr tree))
|
|
||||||
(length (float (if vertical
|
|
||||||
(- (nth 3 edges) (cadr edges))
|
|
||||||
(- (nth 2 edges) (car edges))))))
|
|
||||||
(cons vertical
|
|
||||||
(mapcar (lambda (subtree)
|
|
||||||
(cons (transpose-frame-get-arrangement frame subtree)
|
|
||||||
(/ (let ((edges (if (windowp subtree)
|
|
||||||
(window-edges subtree)
|
|
||||||
(cadr subtree))))
|
|
||||||
(if vertical
|
|
||||||
(- (nth 3 edges) (cadr edges))
|
|
||||||
(- (nth 2 edges) (car edges))))
|
|
||||||
length)))
|
|
||||||
(cddr tree)))))))
|
|
||||||
|
|
||||||
(defun transpose-frame-set-arrangement (config &optional window-or-frame &rest how)
|
|
||||||
(let ((window (if (windowp window-or-frame)
|
|
||||||
window-or-frame
|
|
||||||
(frame-selected-window window-or-frame))))
|
|
||||||
(unless (windowp window-or-frame)
|
|
||||||
(delete-other-windows window))
|
|
||||||
(if (bufferp (car config))
|
|
||||||
(let ((buffer (pop config)))
|
|
||||||
(set-window-buffer window buffer)
|
|
||||||
(set-window-start window (pop config))
|
|
||||||
(set-window-point window (pop config))
|
|
||||||
(set-window-hscroll window (pop config))
|
|
||||||
(set-window-margins window (caar config) (cdr (pop config)))
|
|
||||||
(apply 'set-window-fringes window (pop config))
|
|
||||||
(set-window-dedicated-p window (pop config))
|
|
||||||
(jit-lock-register window (pop config))
|
|
||||||
(let* ((orig-window (pop config))
|
|
||||||
(ol-func (lambda (ol)
|
|
||||||
(when (eq (overlay-get ol 'window) orig-window)
|
|
||||||
(overlay-put ol 'window window))))
|
|
||||||
(ol-lists (with-current-buffer buffer
|
|
||||||
(overlay-lists))))
|
|
||||||
(mapc ol-func (car ol-lists))
|
|
||||||
(mapc ol-func (cdr ol-lists)))
|
|
||||||
(if (car config) (select-window window)))
|
|
||||||
(let* ((horizontal (if (memq 'transpose how)
|
|
||||||
(pop config)
|
|
||||||
(not (pop config))))
|
|
||||||
(edges (window-edges window))
|
|
||||||
(length (if horizontal
|
|
||||||
(- (nth 2 edges) (car edges))
|
|
||||||
(- (nth 3 edges) (cadr edges)))))
|
|
||||||
(if (memq (if horizontal 'flop 'flip) how)
|
|
||||||
(setq config (reverse config)))
|
|
||||||
(while (cdr config)
|
|
||||||
(setq window (prog1
|
|
||||||
(split-window window (round (* length (cdar config)))
|
|
||||||
horizontal)
|
|
||||||
(apply 'transpose-frame-set-arrangement
|
|
||||||
(caar config) window how))
|
|
||||||
config (cdr config)))
|
|
||||||
(apply 'transpose-frame-set-arrangement
|
|
||||||
(caar config) window how)))))
|
|
||||||
|
|
||||||
;;; User commands
|
|
||||||
|
|
||||||
;;;###autoload
|
|
||||||
(defun transpose-frame (&optional frame)
|
|
||||||
"Transpose windows arrangement at FRAME.
|
|
||||||
Omitting FRAME means currently selected frame."
|
|
||||||
(interactive)
|
|
||||||
(transpose-frame-set-arrangement (transpose-frame-get-arrangement frame) frame
|
|
||||||
'transpose)
|
|
||||||
(when (called-interactively-p 'any) (recenter)))
|
|
||||||
|
|
||||||
;;;###autoload
|
|
||||||
(defun flip-frame (&optional frame)
|
|
||||||
"Flip windows arrangement vertically at FRAME.
|
|
||||||
Omitting FRAME means currently selected frame."
|
|
||||||
(interactive)
|
|
||||||
(transpose-frame-set-arrangement (transpose-frame-get-arrangement frame) frame
|
|
||||||
'flip))
|
|
||||||
|
|
||||||
;;;###autoload
|
|
||||||
(defun flop-frame (&optional frame)
|
|
||||||
"Flop windows arrangement horizontally at FRAME.
|
|
||||||
Omitting FRAME means currently selected frame."
|
|
||||||
(interactive)
|
|
||||||
(transpose-frame-set-arrangement (transpose-frame-get-arrangement frame) frame
|
|
||||||
'flop))
|
|
||||||
|
|
||||||
;;;###autoload
|
|
||||||
(defun rotate-frame (&optional frame)
|
|
||||||
"Rotate windows arrangement 180 degrees at FRAME.
|
|
||||||
Omitting FRAME means currently selected frame."
|
|
||||||
(interactive)
|
|
||||||
(transpose-frame-set-arrangement (transpose-frame-get-arrangement frame) frame
|
|
||||||
'flip 'flop))
|
|
||||||
|
|
||||||
;;;###autoload
|
|
||||||
(defun rotate-frame-clockwise (&optional frame)
|
|
||||||
"Rotate windows arrangement 90 degrees clockwise at FRAME.
|
|
||||||
Omitting FRAME means currently selected frame."
|
|
||||||
(interactive)
|
|
||||||
(transpose-frame-set-arrangement (transpose-frame-get-arrangement frame) frame
|
|
||||||
'transpose 'flop)
|
|
||||||
(when (called-interactively-p 'any) (recenter)))
|
|
||||||
|
|
||||||
;;;###autoload
|
|
||||||
(defun rotate-frame-anticlockwise (&optional frame)
|
|
||||||
"Rotate windows arrangement 90 degrees anti-clockwise at FRAME.
|
|
||||||
Omitting FRAME means currently selected frame."
|
|
||||||
(interactive)
|
|
||||||
(transpose-frame-set-arrangement (transpose-frame-get-arrangement frame) frame
|
|
||||||
'transpose 'flip)
|
|
||||||
(when (called-interactively-p 'any) (recenter)))
|
|
||||||
|
|
||||||
;;; _
|
|
||||||
;; Local Variables:
|
|
||||||
;; indent-tabs-mode: nil
|
|
||||||
;; End:
|
|
||||||
(provide 'transpose-frame)
|
|
||||||
;;; transpose-frame.el ends here
|
|
|
@ -1,59 +0,0 @@
|
||||||
;;; transpose-frame-autoloads.el --- automatically extracted autoloads -*- lexical-binding: t -*-
|
|
||||||
;;
|
|
||||||
;;; Code:
|
|
||||||
|
|
||||||
(add-to-list 'load-path (directory-file-name
|
|
||||||
(or (file-name-directory #$) (car load-path))))
|
|
||||||
|
|
||||||
|
|
||||||
;;;### (autoloads nil "transpose-frame" "transpose-frame.el" (0 0
|
|
||||||
;;;;;; 0 0))
|
|
||||||
;;; Generated autoloads from transpose-frame.el
|
|
||||||
|
|
||||||
(autoload 'transpose-frame "transpose-frame" "\
|
|
||||||
Transpose windows arrangement at FRAME.
|
|
||||||
Omitting FRAME means currently selected frame.
|
|
||||||
|
|
||||||
\(fn &optional FRAME)" t nil)
|
|
||||||
|
|
||||||
(autoload 'flip-frame "transpose-frame" "\
|
|
||||||
Flip windows arrangement vertically at FRAME.
|
|
||||||
Omitting FRAME means currently selected frame.
|
|
||||||
|
|
||||||
\(fn &optional FRAME)" t nil)
|
|
||||||
|
|
||||||
(autoload 'flop-frame "transpose-frame" "\
|
|
||||||
Flop windows arrangement horizontally at FRAME.
|
|
||||||
Omitting FRAME means currently selected frame.
|
|
||||||
|
|
||||||
\(fn &optional FRAME)" t nil)
|
|
||||||
|
|
||||||
(autoload 'rotate-frame "transpose-frame" "\
|
|
||||||
Rotate windows arrangement 180 degrees at FRAME.
|
|
||||||
Omitting FRAME means currently selected frame.
|
|
||||||
|
|
||||||
\(fn &optional FRAME)" t nil)
|
|
||||||
|
|
||||||
(autoload 'rotate-frame-clockwise "transpose-frame" "\
|
|
||||||
Rotate windows arrangement 90 degrees clockwise at FRAME.
|
|
||||||
Omitting FRAME means currently selected frame.
|
|
||||||
|
|
||||||
\(fn &optional FRAME)" t nil)
|
|
||||||
|
|
||||||
(autoload 'rotate-frame-anticlockwise "transpose-frame" "\
|
|
||||||
Rotate windows arrangement 90 degrees anti-clockwise at FRAME.
|
|
||||||
Omitting FRAME means currently selected frame.
|
|
||||||
|
|
||||||
\(fn &optional FRAME)" t nil)
|
|
||||||
|
|
||||||
(register-definition-prefixes "transpose-frame" '("transpose-frame-"))
|
|
||||||
|
|
||||||
;;;***
|
|
||||||
|
|
||||||
;; Local Variables:
|
|
||||||
;; version-control: never
|
|
||||||
;; no-byte-compile: t
|
|
||||||
;; no-update-autoloads: t
|
|
||||||
;; coding: utf-8
|
|
||||||
;; End:
|
|
||||||
;;; transpose-frame-autoloads.el ends here
|
|
|
@ -1,2 +0,0 @@
|
||||||
;;; Generated package description from transpose-frame.el -*- no-byte-compile: t -*-
|
|
||||||
(define-package "transpose-frame" "20221109.2053" "Transpose windows arrangement in a frame" 'nil :commit "94c87794d53883a2358d13da264ad8dab9a52daa" :authors '(("S. Irie")) :maintainer '("S. Irie") :keywords '("window"))
|
|
|
@ -1,235 +0,0 @@
|
||||||
;;; transpose-frame.el --- Transpose windows arrangement in a frame
|
|
||||||
|
|
||||||
;; Copyright (c) 2011 S. Irie
|
|
||||||
|
|
||||||
;; Author: S. Irie
|
|
||||||
;; Keywords: window
|
|
||||||
;; Package-Version: 20221109.2053
|
|
||||||
;; Package-Commit: 94c87794d53883a2358d13da264ad8dab9a52daa
|
|
||||||
|
|
||||||
;; This program is free software.
|
|
||||||
|
|
||||||
;; Redistribution and use in source and binary forms, with or without
|
|
||||||
;; modification, are permitted provided that the following conditions
|
|
||||||
;; are met:
|
|
||||||
|
|
||||||
;; 1. Redistributions of source code must retain the above copyright
|
|
||||||
;; notice, this list of conditions and the following disclaimer.
|
|
||||||
;; 2. Redistributions in binary form must reproduce the above copyright
|
|
||||||
;; notice, this list of conditions and the following disclaimer in the
|
|
||||||
;; documentation and/or other materials provided with the distribution.
|
|
||||||
|
|
||||||
;; THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
|
||||||
;; "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
|
||||||
;; LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
|
||||||
;; A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
|
||||||
;; OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
|
||||||
;; SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
|
|
||||||
;; TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
|
|
||||||
;; PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
|
|
||||||
;; LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
|
||||||
;; NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
|
||||||
;; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
|
|
||||||
;;; Commentary:
|
|
||||||
|
|
||||||
;; This program provides some interactive functions which allows users
|
|
||||||
;; to transpose windows arrangement in currently selected frame:
|
|
||||||
;;
|
|
||||||
;; `transpose-frame' ... Swap x-direction and y-direction
|
|
||||||
;;
|
|
||||||
;; +------------+------------+ +----------------+--------+
|
|
||||||
;; | | B | | A | |
|
|
||||||
;; | A +------------+ | | |
|
|
||||||
;; | | C | => +--------+-------+ D |
|
|
||||||
;; +------------+------------+ | B | C | |
|
|
||||||
;; | D | | | | |
|
|
||||||
;; +-------------------------+ +--------+-------+--------+
|
|
||||||
;;
|
|
||||||
;; `flip-frame' ... Flip vertically
|
|
||||||
;;
|
|
||||||
;; +------------+------------+ +------------+------------+
|
|
||||||
;; | | B | | D |
|
|
||||||
;; | A +------------+ +------------+------------+
|
|
||||||
;; | | C | => | | C |
|
|
||||||
;; +------------+------------+ | A +------------+
|
|
||||||
;; | D | | | B |
|
|
||||||
;; +-------------------------+ +------------+------------+
|
|
||||||
;;
|
|
||||||
;; `flop-frame' ... Flop horizontally
|
|
||||||
;;
|
|
||||||
;; +------------+------------+ +------------+------------+
|
|
||||||
;; | | B | | B | |
|
|
||||||
;; | A +------------+ +------------+ A |
|
|
||||||
;; | | C | => | C | |
|
|
||||||
;; +------------+------------+ +------------+------------+
|
|
||||||
;; | D | | D |
|
|
||||||
;; +-------------------------+ +-------------------------+
|
|
||||||
;;
|
|
||||||
;; `rotate-frame' ... Rotate 180 degrees
|
|
||||||
;;
|
|
||||||
;; +------------+------------+ +-------------------------+
|
|
||||||
;; | | B | | D |
|
|
||||||
;; | A +------------+ +------------+------------+
|
|
||||||
;; | | C | => | C | |
|
|
||||||
;; +------------+------------+ +------------+ A |
|
|
||||||
;; | D | | B | |
|
|
||||||
;; +-------------------------+ +------------+------------+
|
|
||||||
;;
|
|
||||||
;; `rotate-frame-clockwise' ... Rotate 90 degrees clockwise
|
|
||||||
;;
|
|
||||||
;; +------------+------------+ +-------+-----------------+
|
|
||||||
;; | | B | | | A |
|
|
||||||
;; | A +------------+ | | |
|
|
||||||
;; | | C | => | D +--------+--------+
|
|
||||||
;; +------------+------------+ | | B | C |
|
|
||||||
;; | D | | | | |
|
|
||||||
;; +-------------------------+ +-------+--------+--------+
|
|
||||||
;;
|
|
||||||
;; `rotate-frame-anticlockwise' ... Rotate 90 degrees anti-clockwise
|
|
||||||
;;
|
|
||||||
;; +------------+------------+ +--------+--------+-------+
|
|
||||||
;; | | B | | B | C | |
|
|
||||||
;; | A +------------+ | | | |
|
|
||||||
;; | | C | => +--------+--------+ D |
|
|
||||||
;; +------------+------------+ | A | |
|
|
||||||
;; | D | | | |
|
|
||||||
;; +-------------------------+ +-----------------+-------+
|
|
||||||
;;
|
|
||||||
;; This program is tested on GNU Emacs 22, 23.
|
|
||||||
|
|
||||||
;;; Code:
|
|
||||||
;;; Internal functions
|
|
||||||
|
|
||||||
(defun transpose-frame-get-arrangement (&optional frame subtree)
|
|
||||||
(let ((tree (or subtree
|
|
||||||
(car (window-tree frame)))))
|
|
||||||
(if (windowp tree)
|
|
||||||
(list (window-buffer tree)
|
|
||||||
(window-start tree)
|
|
||||||
(window-point tree)
|
|
||||||
(window-hscroll tree)
|
|
||||||
(window-margins tree)
|
|
||||||
(window-fringes tree)
|
|
||||||
(window-dedicated-p tree)
|
|
||||||
tree
|
|
||||||
(eq tree (frame-selected-window frame)))
|
|
||||||
(let* ((vertical (car tree))
|
|
||||||
(edges (cadr tree))
|
|
||||||
(length (float (if vertical
|
|
||||||
(- (nth 3 edges) (cadr edges))
|
|
||||||
(- (nth 2 edges) (car edges))))))
|
|
||||||
(cons vertical
|
|
||||||
(mapcar (lambda (subtree)
|
|
||||||
(cons (transpose-frame-get-arrangement frame subtree)
|
|
||||||
(/ (let ((edges (if (windowp subtree)
|
|
||||||
(window-edges subtree)
|
|
||||||
(cadr subtree))))
|
|
||||||
(if vertical
|
|
||||||
(- (nth 3 edges) (cadr edges))
|
|
||||||
(- (nth 2 edges) (car edges))))
|
|
||||||
length)))
|
|
||||||
(cddr tree)))))))
|
|
||||||
|
|
||||||
(defun transpose-frame-set-arrangement (config &optional window-or-frame &rest how)
|
|
||||||
(let ((window (if (windowp window-or-frame)
|
|
||||||
window-or-frame
|
|
||||||
(frame-selected-window window-or-frame))))
|
|
||||||
(unless (windowp window-or-frame)
|
|
||||||
(delete-other-windows window))
|
|
||||||
(if (bufferp (car config))
|
|
||||||
(let ((buffer (pop config)))
|
|
||||||
(set-window-buffer window buffer)
|
|
||||||
(set-window-start window (pop config))
|
|
||||||
(set-window-point window (pop config))
|
|
||||||
(set-window-hscroll window (pop config))
|
|
||||||
(set-window-margins window (caar config) (cdr (pop config)))
|
|
||||||
(apply 'set-window-fringes window (pop config))
|
|
||||||
(set-window-dedicated-p window (pop config))
|
|
||||||
(let* ((orig-window (pop config))
|
|
||||||
(ol-func (lambda (ol)
|
|
||||||
(when (eq (overlay-get ol 'window) orig-window)
|
|
||||||
(overlay-put ol 'window window))))
|
|
||||||
(ol-lists (with-current-buffer buffer
|
|
||||||
(overlay-lists))))
|
|
||||||
(mapc ol-func (car ol-lists))
|
|
||||||
(mapc ol-func (cdr ol-lists)))
|
|
||||||
(if (car config) (select-window window)))
|
|
||||||
(let* ((horizontal (if (memq 'transpose how)
|
|
||||||
(pop config)
|
|
||||||
(not (pop config))))
|
|
||||||
(edges (window-edges window))
|
|
||||||
(length (if horizontal
|
|
||||||
(- (nth 2 edges) (car edges))
|
|
||||||
(- (nth 3 edges) (cadr edges)))))
|
|
||||||
(if (memq (if horizontal 'flop 'flip) how)
|
|
||||||
(setq config (reverse config)))
|
|
||||||
(while (cdr config)
|
|
||||||
(setq window (prog1
|
|
||||||
(split-window window (round (* length (cdar config)))
|
|
||||||
horizontal)
|
|
||||||
(apply 'transpose-frame-set-arrangement
|
|
||||||
(caar config) window how))
|
|
||||||
config (cdr config)))
|
|
||||||
(apply 'transpose-frame-set-arrangement
|
|
||||||
(caar config) window how)))))
|
|
||||||
|
|
||||||
;;; User commands
|
|
||||||
|
|
||||||
;;;###autoload
|
|
||||||
(defun transpose-frame (&optional frame)
|
|
||||||
"Transpose windows arrangement at FRAME.
|
|
||||||
Omitting FRAME means currently selected frame."
|
|
||||||
(interactive)
|
|
||||||
(transpose-frame-set-arrangement (transpose-frame-get-arrangement frame) frame
|
|
||||||
'transpose)
|
|
||||||
(when (called-interactively-p 'any) (recenter)))
|
|
||||||
|
|
||||||
;;;###autoload
|
|
||||||
(defun flip-frame (&optional frame)
|
|
||||||
"Flip windows arrangement vertically at FRAME.
|
|
||||||
Omitting FRAME means currently selected frame."
|
|
||||||
(interactive)
|
|
||||||
(transpose-frame-set-arrangement (transpose-frame-get-arrangement frame) frame
|
|
||||||
'flip))
|
|
||||||
|
|
||||||
;;;###autoload
|
|
||||||
(defun flop-frame (&optional frame)
|
|
||||||
"Flop windows arrangement horizontally at FRAME.
|
|
||||||
Omitting FRAME means currently selected frame."
|
|
||||||
(interactive)
|
|
||||||
(transpose-frame-set-arrangement (transpose-frame-get-arrangement frame) frame
|
|
||||||
'flop))
|
|
||||||
|
|
||||||
;;;###autoload
|
|
||||||
(defun rotate-frame (&optional frame)
|
|
||||||
"Rotate windows arrangement 180 degrees at FRAME.
|
|
||||||
Omitting FRAME means currently selected frame."
|
|
||||||
(interactive)
|
|
||||||
(transpose-frame-set-arrangement (transpose-frame-get-arrangement frame) frame
|
|
||||||
'flip 'flop))
|
|
||||||
|
|
||||||
;;;###autoload
|
|
||||||
(defun rotate-frame-clockwise (&optional frame)
|
|
||||||
"Rotate windows arrangement 90 degrees clockwise at FRAME.
|
|
||||||
Omitting FRAME means currently selected frame."
|
|
||||||
(interactive)
|
|
||||||
(transpose-frame-set-arrangement (transpose-frame-get-arrangement frame) frame
|
|
||||||
'transpose 'flop)
|
|
||||||
(when (called-interactively-p 'any) (recenter)))
|
|
||||||
|
|
||||||
;;;###autoload
|
|
||||||
(defun rotate-frame-anticlockwise (&optional frame)
|
|
||||||
"Rotate windows arrangement 90 degrees anti-clockwise at FRAME.
|
|
||||||
Omitting FRAME means currently selected frame."
|
|
||||||
(interactive)
|
|
||||||
(transpose-frame-set-arrangement (transpose-frame-get-arrangement frame) frame
|
|
||||||
'transpose 'flip)
|
|
||||||
(when (called-interactively-p 'any) (recenter)))
|
|
||||||
|
|
||||||
;;; _
|
|
||||||
;; Local Variables:
|
|
||||||
;; indent-tabs-mode: nil
|
|
||||||
;; End:
|
|
||||||
(provide 'transpose-frame)
|
|
||||||
;;; transpose-frame.el ends here
|
|
11
code/init.el
11
code/init.el
|
@ -76,17 +76,6 @@
|
||||||
; activate helm after its fully configured (may be configured beyond global defaults in other profiles so we have to activate locally)
|
; activate helm after its fully configured (may be configured beyond global defaults in other profiles so we have to activate locally)
|
||||||
(helm-mode 1)
|
(helm-mode 1)
|
||||||
|
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
||||||
; projectile
|
|
||||||
(projectile-mode +1)
|
|
||||||
(define-key projectile-mode-map (kbd "C-c j") 'projectile-command-map)
|
|
||||||
(setq projectile-mode-line-function '(lambda () (format " [%s]" (projectile-project-name))))
|
|
||||||
;(setq projectile-project-search-path '("~/../src/"))
|
|
||||||
|
|
||||||
(require 'helm-projectile)
|
|
||||||
(helm-projectile-on)
|
|
||||||
(diminish 'projectile-mode)
|
|
||||||
|
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
; programming
|
; programming
|
||||||
; code folding
|
; code folding
|
||||||
|
|
|
@ -8,7 +8,7 @@
|
||||||
(add-to-list 'package-archives '("melpa" . "https://melpa.org/packages/") t) ; this goes in chemacs2 init -- DO NOT UNCOMMENT
|
(add-to-list 'package-archives '("melpa" . "https://melpa.org/packages/") t) ; this goes in chemacs2 init -- DO NOT UNCOMMENT
|
||||||
(package-initialize) ; this goes in chemacs2 init -- DO NOT UNCOMMENT
|
(package-initialize) ; this goes in chemacs2 init -- DO NOT UNCOMMENT
|
||||||
(add-to-list 'package-selected-packages
|
(add-to-list 'package-selected-packages
|
||||||
'(rainbow-mode rainbow-delimiters markdown-mode devdocs devdocs-browser focus zoom popwin dired-single diredfl xclip doominhibitinhibit-modeline magit helpful helm helm-org helm-ls-git projectile helm-projectile dired-rainbow dired-rainbow-listing dired-single dash s origami persp-mode persp-mode-projectile-bridge modus-themes transpose-frame use-package)
|
'(rainbow-mode rainbow-delimiters markdown-mode devdocs devdocs-browser focus zoom popwin dired-single diredfl xclip doominhibitinhibit-modeline magit helpful helm helm-org helm-ls-git dired-rainbow dired-rainbow-listing dired-single dash s origami modus-themes use-package)
|
||||||
)
|
)
|
||||||
(require 'use-package)
|
(require 'use-package)
|
||||||
|
|
||||||
|
@ -177,7 +177,6 @@ position between last non-whitespace and `end-of-line'."
|
||||||
|
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
; Setup global keys
|
; Setup global keys
|
||||||
(require 'transpose-frame)
|
|
||||||
(cua-mode 1)
|
(cua-mode 1)
|
||||||
(windmove-default-keybindings 'meta)
|
(windmove-default-keybindings 'meta)
|
||||||
(global-set-key (kbd "<escape>") 'keyboard-escape-quit)
|
(global-set-key (kbd "<escape>") 'keyboard-escape-quit)
|
||||||
|
@ -203,8 +202,6 @@ position between last non-whitespace and `end-of-line'."
|
||||||
(global-set-key (kbd "M-k") 'delete-window)
|
(global-set-key (kbd "M-k") 'delete-window)
|
||||||
(global-set-key (kbd "M-\"") 'split-window-below)
|
(global-set-key (kbd "M-\"") 'split-window-below)
|
||||||
(global-set-key (kbd "M-#") 'split-window-right)
|
(global-set-key (kbd "M-#") 'split-window-right)
|
||||||
(global-set-key (kbd "M-.") 'rotate-frame-clockwise)
|
|
||||||
(global-set-key (kbd "M-,") 'rotate-frame-anticlockwise)
|
|
||||||
|
|
||||||
;; Lookup the current symbol at point. C-c C-d is a common keybinding
|
;; Lookup the current symbol at point. C-c C-d is a common keybinding
|
||||||
;; for this in lisp modes.
|
;; for this in lisp modes.
|
||||||
|
@ -388,15 +385,6 @@ position between last non-whitespace and `end-of-line'."
|
||||||
; activate helm after its fully configured
|
; activate helm after its fully configured
|
||||||
;(helm-mode 1)
|
;(helm-mode 1)
|
||||||
|
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
||||||
; persp-mode
|
|
||||||
(setq persp-auto-resume-time 0.25)
|
|
||||||
(setq persp-add-buffer-on-find-file nil)
|
|
||||||
(with-eval-after-load "persp-mode-autoloads"
|
|
||||||
(setq wg-morph-on nil) ;; switch off animation
|
|
||||||
(setq persp-autokill-buffer-on-remove 'kill-weak)
|
|
||||||
(add-hook 'window-setup-hook #'(lambda () (persp-mode 1))))
|
|
||||||
|
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
; diminish config
|
; diminish config
|
||||||
; https://melpa.org/#/manage-minor-mode
|
; https://melpa.org/#/manage-minor-mode
|
||||||
|
|
|
@ -1,69 +0,0 @@
|
||||||
;;; persp-mode-autoloads.el --- automatically extracted autoloads -*- lexical-binding: t -*-
|
|
||||||
;;
|
|
||||||
;;; Code:
|
|
||||||
|
|
||||||
(add-to-list 'load-path (directory-file-name
|
|
||||||
(or (file-name-directory #$) (car load-path))))
|
|
||||||
|
|
||||||
|
|
||||||
;;;### (autoloads nil "persp-mode" "persp-mode.el" (0 0 0 0))
|
|
||||||
;;; Generated autoloads from persp-mode.el
|
|
||||||
|
|
||||||
(autoload 'persp-def-auto-persp "persp-mode" "\
|
|
||||||
|
|
||||||
|
|
||||||
\(fn NAME &rest KEYARGS &key BUFFER-NAME FILE-NAME MODE MODE-NAME MINOR-MODE MINOR-MODE-NAME PREDICATE HOOKS DYN-ENV GET-NAME GET-BUFFER GET-PERSP SWITCH PARAMETERS NOAUTO WEAK USER-DATA ON-MATCH AFTER-MATCH DONT-PICK-UP-BUFFERS DELETE)" nil nil)
|
|
||||||
|
|
||||||
(define-obsolete-function-alias 'def-auto-persp 'persp-def-auto-persp "persp-mode 2.9.6")
|
|
||||||
|
|
||||||
(autoload 'persp-def-buffer-save/load "persp-mode" "\
|
|
||||||
|
|
||||||
|
|
||||||
\(fn &rest KEYARGS &key BUFFER-NAME FILE-NAME MODE MODE-NAME MINOR-MODE MINOR-MODE-NAME PREDICATE TAG-SYMBOL SAVE-VARS SAVE-FUNCTION LOAD-FUNCTION AFTER-LOAD-FUNCTION MODE-RESTORE-FUNCTION APPEND)" nil nil)
|
|
||||||
|
|
||||||
(define-obsolete-function-alias 'def-persp-buffer-save/load 'persp-def-buffer-save/load "persp-mode 2.9.6")
|
|
||||||
|
|
||||||
(defvar persp-mode nil "\
|
|
||||||
Non-nil if Persp mode is enabled.
|
|
||||||
See the `persp-mode' command
|
|
||||||
for a description of this minor mode.
|
|
||||||
Setting this variable directly does not take effect;
|
|
||||||
either customize it (see the info node `Easy Customization')
|
|
||||||
or call the function `persp-mode'.")
|
|
||||||
|
|
||||||
(custom-autoload 'persp-mode "persp-mode" nil)
|
|
||||||
|
|
||||||
(autoload 'persp-mode "persp-mode" "\
|
|
||||||
Toggle the persp-mode.
|
|
||||||
When active, keeps track of multiple 'perspectives',
|
|
||||||
named collections of buffers and window configurations.
|
|
||||||
Here is a keymap of this minor mode:
|
|
||||||
\\{persp-mode-map}
|
|
||||||
|
|
||||||
This is a minor mode. If called interactively, toggle the `Persp
|
|
||||||
mode' mode. If the prefix argument is positive, enable the mode,
|
|
||||||
and if it is zero or negative, disable the mode.
|
|
||||||
|
|
||||||
If called from Lisp, toggle the mode if ARG is `toggle'. Enable
|
|
||||||
the mode if ARG is nil, omitted, or is a positive number.
|
|
||||||
Disable the mode if ARG is a negative number.
|
|
||||||
|
|
||||||
To check whether the minor mode is enabled in the current buffer,
|
|
||||||
evaluate `(default-value \\='persp-mode)'.
|
|
||||||
|
|
||||||
The mode's hook is called both when the mode is enabled and when
|
|
||||||
it is disabled.
|
|
||||||
|
|
||||||
\(fn &optional ARG)" t nil)
|
|
||||||
|
|
||||||
(register-definition-prefixes "persp-mode" '("*persp-" "clear-window-persp" "def-" "get-" "ido-toggle-persp-filter" "persp" "safe-persp-" "set-" "window-persp-set-p" "with-persp-ido-hooks"))
|
|
||||||
|
|
||||||
;;;***
|
|
||||||
|
|
||||||
;; Local Variables:
|
|
||||||
;; version-control: never
|
|
||||||
;; no-byte-compile: t
|
|
||||||
;; no-update-autoloads: t
|
|
||||||
;; coding: utf-8
|
|
||||||
;; End:
|
|
||||||
;;; persp-mode-autoloads.el ends here
|
|
|
@ -1,2 +0,0 @@
|
||||||
;;; Generated package description from persp-mode.el -*- no-byte-compile: t -*-
|
|
||||||
(define-package "persp-mode" "20220909.836" "windows/buffers sets shared among frames + save/load." '((emacs "24.3")) :commit "67be9feeb02613ea97f0de9eb5b792b193f073bc" :authors '(("Constantin Kulikov (Bad_ptr)" . "zxnotdead@gmail.com")) :maintainer '("Constantin Kulikov (Bad_ptr)" . "zxnotdead@gmail.com") :keywords '("perspectives" "session" "workspace" "persistence" "windows" "buffers" "convenience") :url "https://github.com/Bad-ptr/persp-mode.el")
|
|
File diff suppressed because it is too large
Load diff
|
@ -1,69 +0,0 @@
|
||||||
;;; persp-mode-autoloads.el --- automatically extracted autoloads -*- lexical-binding: t -*-
|
|
||||||
;;
|
|
||||||
;;; Code:
|
|
||||||
|
|
||||||
(add-to-list 'load-path (directory-file-name
|
|
||||||
(or (file-name-directory #$) (car load-path))))
|
|
||||||
|
|
||||||
|
|
||||||
;;;### (autoloads nil "persp-mode" "persp-mode.el" (0 0 0 0))
|
|
||||||
;;; Generated autoloads from persp-mode.el
|
|
||||||
|
|
||||||
(autoload 'persp-def-auto-persp "persp-mode" "\
|
|
||||||
|
|
||||||
|
|
||||||
\(fn NAME &rest KEYARGS &key BUFFER-NAME FILE-NAME MODE MODE-NAME MINOR-MODE MINOR-MODE-NAME PREDICATE HOOKS DYN-ENV GET-NAME GET-BUFFER GET-PERSP SWITCH PARAMETERS NOAUTO WEAK USER-DATA ON-MATCH AFTER-MATCH DONT-PICK-UP-BUFFERS DELETE)" nil nil)
|
|
||||||
|
|
||||||
(define-obsolete-function-alias 'def-auto-persp 'persp-def-auto-persp "persp-mode 2.9.6")
|
|
||||||
|
|
||||||
(autoload 'persp-def-buffer-save/load "persp-mode" "\
|
|
||||||
|
|
||||||
|
|
||||||
\(fn &rest KEYARGS &key BUFFER-NAME FILE-NAME MODE MODE-NAME MINOR-MODE MINOR-MODE-NAME PREDICATE TAG-SYMBOL SAVE-VARS SAVE-FUNCTION LOAD-FUNCTION AFTER-LOAD-FUNCTION MODE-RESTORE-FUNCTION APPEND)" nil nil)
|
|
||||||
|
|
||||||
(define-obsolete-function-alias 'def-persp-buffer-save/load 'persp-def-buffer-save/load "persp-mode 2.9.6")
|
|
||||||
|
|
||||||
(defvar persp-mode nil "\
|
|
||||||
Non-nil if Persp mode is enabled.
|
|
||||||
See the `persp-mode' command
|
|
||||||
for a description of this minor mode.
|
|
||||||
Setting this variable directly does not take effect;
|
|
||||||
either customize it (see the info node `Easy Customization')
|
|
||||||
or call the function `persp-mode'.")
|
|
||||||
|
|
||||||
(custom-autoload 'persp-mode "persp-mode" nil)
|
|
||||||
|
|
||||||
(autoload 'persp-mode "persp-mode" "\
|
|
||||||
Toggle the persp-mode.
|
|
||||||
When active, keeps track of multiple 'perspectives',
|
|
||||||
named collections of buffers and window configurations.
|
|
||||||
Here is a keymap of this minor mode:
|
|
||||||
\\{persp-mode-map}
|
|
||||||
|
|
||||||
This is a minor mode. If called interactively, toggle the `Persp
|
|
||||||
mode' mode. If the prefix argument is positive, enable the mode,
|
|
||||||
and if it is zero or negative, disable the mode.
|
|
||||||
|
|
||||||
If called from Lisp, toggle the mode if ARG is `toggle'. Enable
|
|
||||||
the mode if ARG is nil, omitted, or is a positive number.
|
|
||||||
Disable the mode if ARG is a negative number.
|
|
||||||
|
|
||||||
To check whether the minor mode is enabled in the current buffer,
|
|
||||||
evaluate `(default-value \\='persp-mode)'.
|
|
||||||
|
|
||||||
The mode's hook is called both when the mode is enabled and when
|
|
||||||
it is disabled.
|
|
||||||
|
|
||||||
\(fn &optional ARG)" t nil)
|
|
||||||
|
|
||||||
(register-definition-prefixes "persp-mode" '("*persp-" "clear-window-persp" "def-" "get-" "ido-toggle-persp-filter" "persp" "safe-persp-" "set-" "window-persp-set-p" "with-persp-ido-hooks"))
|
|
||||||
|
|
||||||
;;;***
|
|
||||||
|
|
||||||
;; Local Variables:
|
|
||||||
;; version-control: never
|
|
||||||
;; no-byte-compile: t
|
|
||||||
;; no-update-autoloads: t
|
|
||||||
;; coding: utf-8
|
|
||||||
;; End:
|
|
||||||
;;; persp-mode-autoloads.el ends here
|
|
|
@ -1,2 +0,0 @@
|
||||||
;;; Generated package description from persp-mode.el -*- no-byte-compile: t -*-
|
|
||||||
(define-package "persp-mode" "20230110.1045" "windows/buffers sets shared among frames + save/load." '((emacs "24.3")) :commit "df95ea710e2a72f7a88293b72137acb0ca024d90" :authors '(("Constantin Kulikov (Bad_ptr)" . "zxnotdead@gmail.com")) :maintainer '("Constantin Kulikov (Bad_ptr)" . "zxnotdead@gmail.com") :keywords '("perspectives" "session" "workspace" "persistence" "windows" "buffers" "convenience") :url "https://github.com/Bad-ptr/persp-mode.el")
|
|
File diff suppressed because it is too large
Load diff
|
@ -1,54 +0,0 @@
|
||||||
;;; persp-mode-projectile-bridge-autoloads.el --- automatically extracted autoloads -*- lexical-binding: t -*-
|
|
||||||
;;
|
|
||||||
;;; Code:
|
|
||||||
|
|
||||||
(add-to-list 'load-path (directory-file-name
|
|
||||||
(or (file-name-directory #$) (car load-path))))
|
|
||||||
|
|
||||||
|
|
||||||
;;;### (autoloads nil "persp-mode-projectile-bridge" "persp-mode-projectile-bridge.el"
|
|
||||||
;;;;;; (0 0 0 0))
|
|
||||||
;;; Generated autoloads from persp-mode-projectile-bridge.el
|
|
||||||
|
|
||||||
(defvar persp-mode-projectile-bridge-mode nil "\
|
|
||||||
Non-nil if Persp-Mode-Projectile-Bridge mode is enabled.
|
|
||||||
See the `persp-mode-projectile-bridge-mode' command
|
|
||||||
for a description of this minor mode.
|
|
||||||
Setting this variable directly does not take effect;
|
|
||||||
either customize it (see the info node `Easy Customization')
|
|
||||||
or call the function `persp-mode-projectile-bridge-mode'.")
|
|
||||||
|
|
||||||
(custom-autoload 'persp-mode-projectile-bridge-mode "persp-mode-projectile-bridge" nil)
|
|
||||||
|
|
||||||
(autoload 'persp-mode-projectile-bridge-mode "persp-mode-projectile-bridge" "\
|
|
||||||
`persp-mode' and `projectile-mode' integration.
|
|
||||||
Creates perspectives for projectile projects.
|
|
||||||
|
|
||||||
This is a minor mode. If called interactively, toggle the
|
|
||||||
`Persp-Mode-Projectile-Bridge mode' mode. If the prefix argument
|
|
||||||
is positive, enable the mode, and if it is zero or negative,
|
|
||||||
disable the mode.
|
|
||||||
|
|
||||||
If called from Lisp, toggle the mode if ARG is `toggle'. Enable
|
|
||||||
the mode if ARG is nil, omitted, or is a positive number.
|
|
||||||
Disable the mode if ARG is a negative number.
|
|
||||||
|
|
||||||
To check whether the minor mode is enabled in the current buffer,
|
|
||||||
evaluate `(default-value \\='persp-mode-projectile-bridge-mode)'.
|
|
||||||
|
|
||||||
The mode's hook is called both when the mode is enabled and when
|
|
||||||
it is disabled.
|
|
||||||
|
|
||||||
\(fn &optional ARG)" t nil)
|
|
||||||
|
|
||||||
(register-definition-prefixes "persp-mode-projectile-bridge" '("persp-mode-projectile-bridge-"))
|
|
||||||
|
|
||||||
;;;***
|
|
||||||
|
|
||||||
;; Local Variables:
|
|
||||||
;; version-control: never
|
|
||||||
;; no-byte-compile: t
|
|
||||||
;; no-update-autoloads: t
|
|
||||||
;; coding: utf-8
|
|
||||||
;; End:
|
|
||||||
;;; persp-mode-projectile-bridge-autoloads.el ends here
|
|
|
@ -1,2 +0,0 @@
|
||||||
;;; Generated package description from persp-mode-projectile-bridge.el -*- no-byte-compile: t -*-
|
|
||||||
(define-package "persp-mode-projectile-bridge" "20170315.1120" "persp-mode + projectile integration." '((persp-mode "2.9") (projectile "0.13.0") (cl-lib "0.5")) :commit "f6453cd7b8b4352c06e771706f2c5b7e2cdff1ce" :authors '(("Constantin Kulikov (Bad_ptr)" . "zxnotdead@gmail.com")) :maintainer '("Constantin Kulikov (Bad_ptr)" . "zxnotdead@gmail.com") :keywords '("persp-mode" "projectile") :url "https://github.com/Bad-ptr/persp-mode-projectile-bridge.el")
|
|
|
@ -1,211 +0,0 @@
|
||||||
;;; persp-mode-projectile-bridge.el --- persp-mode + projectile integration. -*- lexical-binding: t -*-
|
|
||||||
|
|
||||||
;; Copyright (C) 2017 Constantin Kulikov
|
|
||||||
;;
|
|
||||||
;; Author: Constantin Kulikov (Bad_ptr) <zxnotdead@gmail.com>
|
|
||||||
;; Version: 0.1
|
|
||||||
;; Package-Version: 20170315.1120
|
|
||||||
;; Package-Commit: f6453cd7b8b4352c06e771706f2c5b7e2cdff1ce
|
|
||||||
;; Package-Requires: ((persp-mode "2.9") (projectile "0.13.0") (cl-lib "0.5"))
|
|
||||||
;; Date: 2017/03/04 10:10:41
|
|
||||||
;; License: GPL either version 3 or any later version
|
|
||||||
;; Keywords: persp-mode, projectile
|
|
||||||
;; URL: https://github.com/Bad-ptr/persp-mode-projectile-bridge.el
|
|
||||||
|
|
||||||
;;; License:
|
|
||||||
|
|
||||||
;; This file is not part of GNU Emacs.
|
|
||||||
|
|
||||||
;; This program is free software; you can redistribute it and/or modify
|
|
||||||
;; it under the terms of the GNU General Public License as published by
|
|
||||||
;; the Free Software Foundation, either version 3, or (at your option)
|
|
||||||
;; any later version.
|
|
||||||
;;
|
|
||||||
;; This program is distributed in the hope that it will be useful,
|
|
||||||
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
;; GNU General Public License for more details.
|
|
||||||
;;
|
|
||||||
;; You should have received a copy of the GNU General Public License
|
|
||||||
;; along with this program; if not, write to the Free Software
|
|
||||||
;; Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
|
||||||
|
|
||||||
;;; Commentary:
|
|
||||||
|
|
||||||
;; Creates a perspective for each projectile project.
|
|
||||||
|
|
||||||
;;; Usage:
|
|
||||||
|
|
||||||
;; Installation:
|
|
||||||
|
|
||||||
;; M-x package-install-file RET persp-mode-projectile-bridge.el RET
|
|
||||||
|
|
||||||
;; Example configuration:
|
|
||||||
|
|
||||||
;; (with-eval-after-load "persp-mode-projectile-bridge-autoloads"
|
|
||||||
;; (add-hook 'persp-mode-projectile-bridge-mode-hook
|
|
||||||
;; #'(lambda ()
|
|
||||||
;; (if persp-mode-projectile-bridge-mode
|
|
||||||
;; (persp-mode-projectile-bridge-find-perspectives-for-all-buffers)
|
|
||||||
;; (persp-mode-projectile-bridge-kill-perspectives))))
|
|
||||||
;; (add-hook 'after-init-hook
|
|
||||||
;; #'(lambda ()
|
|
||||||
;; (persp-mode-projectile-bridge-mode 1))
|
|
||||||
;; t))
|
|
||||||
|
|
||||||
|
|
||||||
;;; Code:
|
|
||||||
|
|
||||||
|
|
||||||
(require 'persp-mode)
|
|
||||||
(require 'projectile)
|
|
||||||
(require 'cl-lib)
|
|
||||||
|
|
||||||
|
|
||||||
(defvar persp-mode-projectile-bridge-mode nil)
|
|
||||||
|
|
||||||
(defgroup persp-mode-projectile-bridge nil
|
|
||||||
"persp-mode projectile integration."
|
|
||||||
:group 'persp-mode
|
|
||||||
:group 'projectile
|
|
||||||
:prefix "persp-mode-projectile-bridge-"
|
|
||||||
:link
|
|
||||||
'(url-link
|
|
||||||
:tag "Github" "https://github.com/Bad-ptr/persp-mode-projectile-bridge.el"))
|
|
||||||
|
|
||||||
(defcustom persp-mode-projectile-bridge-persp-name-prefix "[p] "
|
|
||||||
"Prefix to use for projectile perspective names."
|
|
||||||
:group 'persp-mode-projectile-bridge
|
|
||||||
:type 'string
|
|
||||||
:set #'(lambda (sym val)
|
|
||||||
(if persp-mode-projectile-bridge-mode
|
|
||||||
(let ((old-prefix (symbol-value sym)))
|
|
||||||
(custom-set-default sym val)
|
|
||||||
(let (old-name)
|
|
||||||
(mapc #'(lambda (p)
|
|
||||||
(when (and
|
|
||||||
p (persp-parameter
|
|
||||||
'persp-mode-projectile-bridge p))
|
|
||||||
(setq old-name
|
|
||||||
(substring (persp-name p)
|
|
||||||
(string-width old-prefix)))
|
|
||||||
(persp-rename (concat val old-name) p)))
|
|
||||||
(persp-persps))))
|
|
||||||
(custom-set-default sym val))))
|
|
||||||
|
|
||||||
|
|
||||||
(defun persp-mode-projectile-bridge-add-new-persp (name)
|
|
||||||
(let ((persp (persp-get-by-name name *persp-hash* :nil)))
|
|
||||||
(if (eq :nil persp)
|
|
||||||
(prog1
|
|
||||||
(setq persp (persp-add-new name))
|
|
||||||
(when persp
|
|
||||||
(set-persp-parameter 'persp-mode-projectile-bridge t persp)
|
|
||||||
(set-persp-parameter 'dont-save-to-file t persp)
|
|
||||||
(persp-add-buffer (projectile-project-buffers)
|
|
||||||
persp nil nil)))
|
|
||||||
persp)))
|
|
||||||
|
|
||||||
(defun persp-mode-projectile-bridge-find-perspective-for-buffer (b)
|
|
||||||
(when (buffer-live-p b)
|
|
||||||
(with-current-buffer b
|
|
||||||
(when (and persp-mode-projectile-bridge-mode
|
|
||||||
(buffer-file-name b) (projectile-project-p))
|
|
||||||
(let ((persp (persp-mode-projectile-bridge-add-new-persp
|
|
||||||
(concat persp-mode-projectile-bridge-persp-name-prefix
|
|
||||||
(projectile-project-name)))))
|
|
||||||
(when persp
|
|
||||||
(persp-add-buffer b persp nil nil)
|
|
||||||
persp))))))
|
|
||||||
|
|
||||||
(defvar persp-mode-projectile-bridge-before-switch-selected-window-buffer nil)
|
|
||||||
(defun persp-mode-projectile-bridge-hook-before-switch (&rest _args)
|
|
||||||
(let ((win (if (minibuffer-window-active-p (selected-window))
|
|
||||||
(minibuffer-selected-window)
|
|
||||||
(selected-window))))
|
|
||||||
(when (window-live-p win)
|
|
||||||
(setq persp-mode-projectile-bridge-before-switch-selected-window-buffer
|
|
||||||
(window-buffer win)))))
|
|
||||||
|
|
||||||
(defun persp-mode-projectile-bridge-hook-switch (&rest _args)
|
|
||||||
(let ((persp
|
|
||||||
(persp-mode-projectile-bridge-find-perspective-for-buffer
|
|
||||||
(current-buffer))))
|
|
||||||
(when persp
|
|
||||||
(when (buffer-live-p
|
|
||||||
persp-mode-projectile-bridge-before-switch-selected-window-buffer)
|
|
||||||
(let ((win (selected-window)))
|
|
||||||
(unless (eq (window-buffer win)
|
|
||||||
persp-mode-projectile-bridge-before-switch-selected-window-buffer)
|
|
||||||
(set-window-buffer
|
|
||||||
win persp-mode-projectile-bridge-before-switch-selected-window-buffer)
|
|
||||||
(setq persp-mode-projectile-bridge-before-switch-selected-window-buffer nil))))
|
|
||||||
(persp-frame-switch (persp-name persp)))))
|
|
||||||
|
|
||||||
(defun persp-mode-projectile-bridge-hook-find-file (&rest _args)
|
|
||||||
(let ((persp
|
|
||||||
(persp-mode-projectile-bridge-find-perspective-for-buffer
|
|
||||||
(current-buffer))))
|
|
||||||
(when persp
|
|
||||||
(persp-add-buffer (current-buffer) persp nil nil))))
|
|
||||||
|
|
||||||
(defun persp-mode-projectile-bridge-find-perspectives-for-all-buffers ()
|
|
||||||
(when (and persp-mode-projectile-bridge-mode)
|
|
||||||
(mapc #'persp-mode-projectile-bridge-find-perspective-for-buffer
|
|
||||||
(buffer-list))))
|
|
||||||
|
|
||||||
(defun persp-mode-projectile-bridge-kill-perspectives ()
|
|
||||||
(when (and persp-mode projectile-mode)
|
|
||||||
(mapc #'persp-kill
|
|
||||||
(mapcar #'persp-name
|
|
||||||
(cl-delete-if-not
|
|
||||||
(apply-partially
|
|
||||||
#'persp-parameter
|
|
||||||
'persp-mode-projectile-bridge)
|
|
||||||
(persp-persps))))))
|
|
||||||
|
|
||||||
|
|
||||||
;;;###autoload
|
|
||||||
(define-minor-mode persp-mode-projectile-bridge-mode
|
|
||||||
"`persp-mode' and `projectile-mode' integration.
|
|
||||||
Creates perspectives for projectile projects."
|
|
||||||
:require 'persp-mode-projectile-bridge
|
|
||||||
:group 'persp-mode-projectile-bridge
|
|
||||||
:init-value nil
|
|
||||||
:global t
|
|
||||||
|
|
||||||
(if persp-mode-projectile-bridge-mode
|
|
||||||
(if (and persp-mode projectile-mode)
|
|
||||||
(progn
|
|
||||||
(add-hook 'find-file-hook
|
|
||||||
#'persp-mode-projectile-bridge-hook-find-file)
|
|
||||||
(add-hook 'projectile-mode-hook
|
|
||||||
#'(lambda ()
|
|
||||||
(unless projectile-mode
|
|
||||||
(persp-mode-projectile-bridge-mode -1))))
|
|
||||||
(add-hook 'persp-mode-hook
|
|
||||||
#'(lambda ()
|
|
||||||
(unless persp-mode
|
|
||||||
(persp-mode-projectile-bridge-mode -1))))
|
|
||||||
(add-hook 'projectile-before-switch-project-hook
|
|
||||||
#'persp-mode-projectile-bridge-hook-before-switch)
|
|
||||||
(add-hook 'projectile-after-switch-project-hook
|
|
||||||
#'persp-mode-projectile-bridge-hook-switch)
|
|
||||||
(add-hook 'projectile-find-file-hook
|
|
||||||
#'persp-mode-projectile-bridge-hook-switch))
|
|
||||||
(message "You can not enable persp-mode-projectile-bridge-mode \
|
|
||||||
unless persp-mode and projectile-mode are active.")
|
|
||||||
(setq persp-mode-projectile-bridge-mode nil))
|
|
||||||
(remove-hook 'find-file-hook
|
|
||||||
#'persp-mode-projectile-bridge-hook-find-file)
|
|
||||||
(remove-hook 'projectile-before-switch-project-hook
|
|
||||||
#'persp-mode-projectile-bridge-hook-before-switch)
|
|
||||||
(remove-hook 'projectile-after-switch-project-hook
|
|
||||||
#'persp-mode-projectile-bridge-hook-switch)
|
|
||||||
(remove-hook 'projectile-find-file-hook
|
|
||||||
#'persp-mode-projectile-bridge-hook-switch)))
|
|
||||||
|
|
||||||
|
|
||||||
(provide 'persp-mode-projectile-bridge)
|
|
||||||
|
|
||||||
;;; persp-mode-projectile-bridge.el ends here
|
|
|
@ -1,640 +0,0 @@
|
||||||
;;; projectile-autoloads.el --- automatically extracted autoloads -*- lexical-binding: t -*-
|
|
||||||
;;
|
|
||||||
;;; Code:
|
|
||||||
|
|
||||||
(add-to-list 'load-path (directory-file-name
|
|
||||||
(or (file-name-directory #$) (car load-path))))
|
|
||||||
|
|
||||||
|
|
||||||
;;;### (autoloads nil "projectile" "projectile.el" (0 0 0 0))
|
|
||||||
;;; Generated autoloads from projectile.el
|
|
||||||
|
|
||||||
(autoload 'projectile-version "projectile" "\
|
|
||||||
Get the Projectile version as string.
|
|
||||||
|
|
||||||
If called interactively or if SHOW-VERSION is non-nil, show the
|
|
||||||
version in the echo area and the messages buffer.
|
|
||||||
|
|
||||||
The returned string includes both, the version from package.el
|
|
||||||
and the library version, if both a present and different.
|
|
||||||
|
|
||||||
If the version number could not be determined, signal an error,
|
|
||||||
if called interactively, or if SHOW-VERSION is non-nil, otherwise
|
|
||||||
just return nil.
|
|
||||||
|
|
||||||
\(fn &optional SHOW-VERSION)" t nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-invalidate-cache "projectile" "\
|
|
||||||
Remove the current project's files from `projectile-projects-cache'.
|
|
||||||
|
|
||||||
With a prefix argument PROMPT prompts for the name of the project whose cache
|
|
||||||
to invalidate.
|
|
||||||
|
|
||||||
\(fn PROMPT)" t nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-purge-file-from-cache "projectile" "\
|
|
||||||
Purge FILE from the cache of the current project.
|
|
||||||
|
|
||||||
\(fn FILE)" t nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-purge-dir-from-cache "projectile" "\
|
|
||||||
Purge DIR from the cache of the current project.
|
|
||||||
|
|
||||||
\(fn DIR)" t nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-cache-current-file "projectile" "\
|
|
||||||
Add the currently visited file to the cache." t nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-discover-projects-in-directory "projectile" "\
|
|
||||||
Discover any projects in DIRECTORY and add them to the projectile cache.
|
|
||||||
|
|
||||||
If DEPTH is non-nil recursively descend exactly DEPTH levels below DIRECTORY and
|
|
||||||
discover projects there.
|
|
||||||
|
|
||||||
\(fn DIRECTORY &optional DEPTH)" t nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-discover-projects-in-search-path "projectile" "\
|
|
||||||
Discover projects in `projectile-project-search-path'.
|
|
||||||
Invoked automatically when `projectile-mode' is enabled." t nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-switch-to-buffer "projectile" "\
|
|
||||||
Switch to a project buffer." t nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-switch-to-buffer-other-window "projectile" "\
|
|
||||||
Switch to a project buffer and show it in another window." t nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-switch-to-buffer-other-frame "projectile" "\
|
|
||||||
Switch to a project buffer and show it in another frame." t nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-display-buffer "projectile" "\
|
|
||||||
Display a project buffer in another window without selecting it." t nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-project-buffers-other-buffer "projectile" "\
|
|
||||||
Switch to the most recently selected buffer project buffer.
|
|
||||||
Only buffers not visible in windows are returned." t nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-multi-occur "projectile" "\
|
|
||||||
Do a `multi-occur' in the project's buffers.
|
|
||||||
With a prefix argument, show NLINES of context.
|
|
||||||
|
|
||||||
\(fn &optional NLINES)" t nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-find-other-file "projectile" "\
|
|
||||||
Switch between files with the same name but different extensions.
|
|
||||||
With FLEX-MATCHING, match any file that contains the base name of current file.
|
|
||||||
Other file extensions can be customized with the variable
|
|
||||||
`projectile-other-file-alist'.
|
|
||||||
|
|
||||||
\(fn &optional FLEX-MATCHING)" t nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-find-other-file-other-window "projectile" "\
|
|
||||||
Switch between files with different extensions in other window.
|
|
||||||
Switch between files with the same name but different extensions in other
|
|
||||||
window. With FLEX-MATCHING, match any file that contains the base name of
|
|
||||||
current file. Other file extensions can be customized with the variable
|
|
||||||
`projectile-other-file-alist'.
|
|
||||||
|
|
||||||
\(fn &optional FLEX-MATCHING)" t nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-find-other-file-other-frame "projectile" "\
|
|
||||||
Switch between files with different extensions in other frame.
|
|
||||||
Switch between files with the same name but different extensions in other frame.
|
|
||||||
With FLEX-MATCHING, match any file that contains the base name of current
|
|
||||||
file. Other file extensions can be customized with the variable
|
|
||||||
`projectile-other-file-alist'.
|
|
||||||
|
|
||||||
\(fn &optional FLEX-MATCHING)" t nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-find-file-dwim "projectile" "\
|
|
||||||
Jump to a project's files using completion based on context.
|
|
||||||
|
|
||||||
With a prefix arg INVALIDATE-CACHE invalidates the cache first.
|
|
||||||
|
|
||||||
If point is on a filename, Projectile first tries to search for that
|
|
||||||
file in project:
|
|
||||||
|
|
||||||
- If it finds just a file, it switches to that file instantly. This works
|
|
||||||
even if the filename is incomplete, but there's only a single file in the
|
|
||||||
current project that matches the filename at point. For example, if
|
|
||||||
there's only a single file named \"projectile/projectile.el\" but the
|
|
||||||
current filename is \"projectile/proj\" (incomplete),
|
|
||||||
`projectile-find-file-dwim' still switches to \"projectile/projectile.el\"
|
|
||||||
immediately because this is the only filename that matches.
|
|
||||||
|
|
||||||
- If it finds a list of files, the list is displayed for selecting. A list
|
|
||||||
of files is displayed when a filename appears more than one in the project
|
|
||||||
or the filename at point is a prefix of more than two files in a project.
|
|
||||||
For example, if `projectile-find-file-dwim' is executed on a filepath like
|
|
||||||
\"projectile/\", it lists the content of that directory. If it is executed
|
|
||||||
on a partial filename like \"projectile/a\", a list of files with character
|
|
||||||
\"a\" in that directory is presented.
|
|
||||||
|
|
||||||
- If it finds nothing, display a list of all files in project for selecting.
|
|
||||||
|
|
||||||
\(fn &optional INVALIDATE-CACHE)" t nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-find-file-dwim-other-window "projectile" "\
|
|
||||||
Jump to a project's files using completion based on context in other window.
|
|
||||||
|
|
||||||
With a prefix arg INVALIDATE-CACHE invalidates the cache first.
|
|
||||||
|
|
||||||
If point is on a filename, Projectile first tries to search for that
|
|
||||||
file in project:
|
|
||||||
|
|
||||||
- If it finds just a file, it switches to that file instantly. This works
|
|
||||||
even if the filename is incomplete, but there's only a single file in the
|
|
||||||
current project that matches the filename at point. For example, if
|
|
||||||
there's only a single file named \"projectile/projectile.el\" but the
|
|
||||||
current filename is \"projectile/proj\" (incomplete),
|
|
||||||
`projectile-find-file-dwim-other-window' still switches to
|
|
||||||
\"projectile/projectile.el\" immediately because this is the only filename
|
|
||||||
that matches.
|
|
||||||
|
|
||||||
- If it finds a list of files, the list is displayed for selecting. A list
|
|
||||||
of files is displayed when a filename appears more than one in the project
|
|
||||||
or the filename at point is a prefix of more than two files in a project.
|
|
||||||
For example, if `projectile-find-file-dwim-other-window' is executed on a
|
|
||||||
filepath like \"projectile/\", it lists the content of that directory. If
|
|
||||||
it is executed on a partial filename like \"projectile/a\", a list of files
|
|
||||||
with character \"a\" in that directory is presented.
|
|
||||||
|
|
||||||
- If it finds nothing, display a list of all files in project for selecting.
|
|
||||||
|
|
||||||
\(fn &optional INVALIDATE-CACHE)" t nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-find-file-dwim-other-frame "projectile" "\
|
|
||||||
Jump to a project's files using completion based on context in other frame.
|
|
||||||
|
|
||||||
With a prefix arg INVALIDATE-CACHE invalidates the cache first.
|
|
||||||
|
|
||||||
If point is on a filename, Projectile first tries to search for that
|
|
||||||
file in project:
|
|
||||||
|
|
||||||
- If it finds just a file, it switches to that file instantly. This works
|
|
||||||
even if the filename is incomplete, but there's only a single file in the
|
|
||||||
current project that matches the filename at point. For example, if
|
|
||||||
there's only a single file named \"projectile/projectile.el\" but the
|
|
||||||
current filename is \"projectile/proj\" (incomplete),
|
|
||||||
`projectile-find-file-dwim-other-frame' still switches to
|
|
||||||
\"projectile/projectile.el\" immediately because this is the only filename
|
|
||||||
that matches.
|
|
||||||
|
|
||||||
- If it finds a list of files, the list is displayed for selecting. A list
|
|
||||||
of files is displayed when a filename appears more than one in the project
|
|
||||||
or the filename at point is a prefix of more than two files in a project.
|
|
||||||
For example, if `projectile-find-file-dwim-other-frame' is executed on a
|
|
||||||
filepath like \"projectile/\", it lists the content of that directory. If
|
|
||||||
it is executed on a partial filename like \"projectile/a\", a list of files
|
|
||||||
with character \"a\" in that directory is presented.
|
|
||||||
|
|
||||||
- If it finds nothing, display a list of all files in project for selecting.
|
|
||||||
|
|
||||||
\(fn &optional INVALIDATE-CACHE)" t nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-find-file "projectile" "\
|
|
||||||
Jump to a project's file using completion.
|
|
||||||
With a prefix arg INVALIDATE-CACHE invalidates the cache first.
|
|
||||||
|
|
||||||
\(fn &optional INVALIDATE-CACHE)" t nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-find-file-other-window "projectile" "\
|
|
||||||
Jump to a project's file using completion and show it in another window.
|
|
||||||
|
|
||||||
With a prefix arg INVALIDATE-CACHE invalidates the cache first.
|
|
||||||
|
|
||||||
\(fn &optional INVALIDATE-CACHE)" t nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-find-file-other-frame "projectile" "\
|
|
||||||
Jump to a project's file using completion and show it in another frame.
|
|
||||||
|
|
||||||
With a prefix arg INVALIDATE-CACHE invalidates the cache first.
|
|
||||||
|
|
||||||
\(fn &optional INVALIDATE-CACHE)" t nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-toggle-project-read-only "projectile" "\
|
|
||||||
Toggle project read only." t nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-add-dir-local-variable "projectile" "\
|
|
||||||
Run `add-dir-local-variable' with .dir-locals.el in root of project.
|
|
||||||
|
|
||||||
Parameters MODE VARIABLE VALUE are passed directly to `add-dir-local-variable'.
|
|
||||||
|
|
||||||
\(fn MODE VARIABLE VALUE)" nil nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-delete-dir-local-variable "projectile" "\
|
|
||||||
Run `delete-dir-local-variable' with .dir-locals.el in root of project.
|
|
||||||
|
|
||||||
Parameters MODE VARIABLE VALUE are passed directly to
|
|
||||||
`delete-dir-local-variable'.
|
|
||||||
|
|
||||||
\(fn MODE VARIABLE)" nil nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-find-dir "projectile" "\
|
|
||||||
Jump to a project's directory using completion.
|
|
||||||
|
|
||||||
With a prefix arg INVALIDATE-CACHE invalidates the cache first.
|
|
||||||
|
|
||||||
\(fn &optional INVALIDATE-CACHE)" t nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-find-dir-other-window "projectile" "\
|
|
||||||
Jump to a project's directory in other window using completion.
|
|
||||||
|
|
||||||
With a prefix arg INVALIDATE-CACHE invalidates the cache first.
|
|
||||||
|
|
||||||
\(fn &optional INVALIDATE-CACHE)" t nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-find-dir-other-frame "projectile" "\
|
|
||||||
Jump to a project's directory in other frame using completion.
|
|
||||||
|
|
||||||
With a prefix arg INVALIDATE-CACHE invalidates the cache first.
|
|
||||||
|
|
||||||
\(fn &optional INVALIDATE-CACHE)" t nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-find-test-file "projectile" "\
|
|
||||||
Jump to a project's test file using completion.
|
|
||||||
|
|
||||||
With a prefix arg INVALIDATE-CACHE invalidates the cache first.
|
|
||||||
|
|
||||||
\(fn &optional INVALIDATE-CACHE)" t nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-find-related-file-other-window "projectile" "\
|
|
||||||
Open related file in other window." t nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-find-related-file-other-frame "projectile" "\
|
|
||||||
Open related file in other frame." t nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-find-related-file "projectile" "\
|
|
||||||
Open related file." t nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-related-files-fn-groups "projectile" "\
|
|
||||||
Generate a related-files-fn which relates as KIND for files in each of GROUPS.
|
|
||||||
|
|
||||||
\(fn KIND GROUPS)" nil nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-related-files-fn-extensions "projectile" "\
|
|
||||||
Generate a related-files-fn which relates as KIND for files having EXTENSIONS.
|
|
||||||
|
|
||||||
\(fn KIND EXTENSIONS)" nil nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-related-files-fn-test-with-prefix "projectile" "\
|
|
||||||
Generate a related-files-fn which relates tests and impl.
|
|
||||||
Use files with EXTENSION based on TEST-PREFIX.
|
|
||||||
|
|
||||||
\(fn EXTENSION TEST-PREFIX)" nil nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-related-files-fn-test-with-suffix "projectile" "\
|
|
||||||
Generate a related-files-fn which relates tests and impl.
|
|
||||||
Use files with EXTENSION based on TEST-SUFFIX.
|
|
||||||
|
|
||||||
\(fn EXTENSION TEST-SUFFIX)" nil nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-project-info "projectile" "\
|
|
||||||
Display info for current project." t nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-find-implementation-or-test-other-window "projectile" "\
|
|
||||||
Open matching implementation or test file in other window.
|
|
||||||
|
|
||||||
See the documentation of `projectile--find-matching-file' and
|
|
||||||
`projectile--find-matching-test' for how implementation and test files
|
|
||||||
are determined." t nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-find-implementation-or-test-other-frame "projectile" "\
|
|
||||||
Open matching implementation or test file in other frame.
|
|
||||||
|
|
||||||
See the documentation of `projectile--find-matching-file' and
|
|
||||||
`projectile--find-matching-test' for how implementation and test files
|
|
||||||
are determined." t nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-toggle-between-implementation-and-test "projectile" "\
|
|
||||||
Toggle between an implementation file and its test file.
|
|
||||||
|
|
||||||
|
|
||||||
See the documentation of `projectile--find-matching-file' and
|
|
||||||
`projectile--find-matching-test' for how implementation and test files
|
|
||||||
are determined." t nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-grep "projectile" "\
|
|
||||||
Perform rgrep in the project.
|
|
||||||
|
|
||||||
With a prefix ARG asks for files (globbing-aware) which to grep in.
|
|
||||||
With prefix ARG of `-' (such as `M--'), default the files (without prompt),
|
|
||||||
to `projectile-grep-default-files'.
|
|
||||||
|
|
||||||
With REGEXP given, don't query the user for a regexp.
|
|
||||||
|
|
||||||
\(fn &optional REGEXP ARG)" t nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-ag "projectile" "\
|
|
||||||
Run an ag search with SEARCH-TERM in the project.
|
|
||||||
|
|
||||||
With an optional prefix argument ARG SEARCH-TERM is interpreted as a
|
|
||||||
regular expression.
|
|
||||||
|
|
||||||
\(fn SEARCH-TERM &optional ARG)" t nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-ripgrep "projectile" "\
|
|
||||||
Run a ripgrep (rg) search with `SEARCH-TERM' at current project root.
|
|
||||||
|
|
||||||
With an optional prefix argument ARG SEARCH-TERM is interpreted as a
|
|
||||||
regular expression.
|
|
||||||
|
|
||||||
This command depends on of the Emacs packages ripgrep or rg being
|
|
||||||
installed to work.
|
|
||||||
|
|
||||||
\(fn SEARCH-TERM &optional ARG)" t nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-regenerate-tags "projectile" "\
|
|
||||||
Regenerate the project's [e|g]tags." t nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-find-tag "projectile" "\
|
|
||||||
Find tag in project." t nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-run-command-in-root "projectile" "\
|
|
||||||
Invoke `execute-extended-command' in the project's root." t nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-run-shell-command-in-root "projectile" "\
|
|
||||||
Invoke `shell-command' in the project's root.
|
|
||||||
|
|
||||||
\(fn COMMAND &optional OUTPUT-BUFFER ERROR-BUFFER)" t nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-run-async-shell-command-in-root "projectile" "\
|
|
||||||
Invoke `async-shell-command' in the project's root.
|
|
||||||
|
|
||||||
\(fn COMMAND &optional OUTPUT-BUFFER ERROR-BUFFER)" t nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-run-gdb "projectile" "\
|
|
||||||
Invoke `gdb' in the project's root." t nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-run-shell "projectile" "\
|
|
||||||
Invoke `shell' in the project's root.
|
|
||||||
|
|
||||||
Switch to the project specific shell buffer if it already exists.
|
|
||||||
|
|
||||||
Use a prefix argument ARG to indicate creation of a new process instead.
|
|
||||||
|
|
||||||
\(fn &optional ARG)" t nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-run-eshell "projectile" "\
|
|
||||||
Invoke `eshell' in the project's root.
|
|
||||||
|
|
||||||
Switch to the project specific eshell buffer if it already exists.
|
|
||||||
|
|
||||||
Use a prefix argument ARG to indicate creation of a new process instead.
|
|
||||||
|
|
||||||
\(fn &optional ARG)" t nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-run-ielm "projectile" "\
|
|
||||||
Invoke `ielm' in the project's root.
|
|
||||||
|
|
||||||
Switch to the project specific ielm buffer if it already exists.
|
|
||||||
|
|
||||||
Use a prefix argument ARG to indicate creation of a new process instead.
|
|
||||||
|
|
||||||
\(fn &optional ARG)" t nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-run-term "projectile" "\
|
|
||||||
Invoke `term' in the project's root.
|
|
||||||
|
|
||||||
Switch to the project specific term buffer if it already exists.
|
|
||||||
|
|
||||||
Use a prefix argument ARG to indicate creation of a new process instead.
|
|
||||||
|
|
||||||
\(fn &optional ARG)" t nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-run-vterm "projectile" "\
|
|
||||||
Invoke `vterm' in the project's root.
|
|
||||||
|
|
||||||
Switch to the project specific term buffer if it already exists.
|
|
||||||
|
|
||||||
Use a prefix argument ARG to indicate creation of a new process instead.
|
|
||||||
|
|
||||||
\(fn &optional ARG)" t nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-replace "projectile" "\
|
|
||||||
Replace literal string in project using non-regexp `tags-query-replace'.
|
|
||||||
|
|
||||||
With a prefix argument ARG prompts you for a directory and file name patterns
|
|
||||||
on which to run the replacement.
|
|
||||||
|
|
||||||
\(fn &optional ARG)" t nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-replace-regexp "projectile" "\
|
|
||||||
Replace a regexp in the project using `tags-query-replace'.
|
|
||||||
|
|
||||||
With a prefix argument ARG prompts you for a directory on which
|
|
||||||
to run the replacement.
|
|
||||||
|
|
||||||
\(fn &optional ARG)" t nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-kill-buffers "projectile" "\
|
|
||||||
Kill project buffers.
|
|
||||||
|
|
||||||
The buffer are killed according to the value of
|
|
||||||
`projectile-kill-buffers-filter'." t nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-save-project-buffers "projectile" "\
|
|
||||||
Save all project buffers." t nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-dired "projectile" "\
|
|
||||||
Open `dired' at the root of the project." t nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-dired-other-window "projectile" "\
|
|
||||||
Open `dired' at the root of the project in another window." t nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-dired-other-frame "projectile" "\
|
|
||||||
Open `dired' at the root of the project in another frame." t nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-vc "projectile" "\
|
|
||||||
Open `vc-dir' at the root of the project.
|
|
||||||
|
|
||||||
For git projects `magit-status-internal' is used if available.
|
|
||||||
For hg projects `monky-status' is used if available.
|
|
||||||
|
|
||||||
If PROJECT-ROOT is given, it is opened instead of the project
|
|
||||||
root directory of the current buffer file. If interactively
|
|
||||||
called with a prefix argument, the user is prompted for a project
|
|
||||||
directory to open.
|
|
||||||
|
|
||||||
\(fn &optional PROJECT-ROOT)" t nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-recentf "projectile" "\
|
|
||||||
Show a list of recently visited files in a project." t nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-configure-project "projectile" "\
|
|
||||||
Run project configure command.
|
|
||||||
|
|
||||||
Normally you'll be prompted for a compilation command, unless
|
|
||||||
variable `compilation-read-command'. You can force the prompt
|
|
||||||
with a prefix ARG.
|
|
||||||
|
|
||||||
\(fn ARG)" t nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-compile-project "projectile" "\
|
|
||||||
Run project compilation command.
|
|
||||||
|
|
||||||
Normally you'll be prompted for a compilation command, unless
|
|
||||||
variable `compilation-read-command'. You can force the prompt
|
|
||||||
with a prefix ARG.
|
|
||||||
|
|
||||||
\(fn ARG)" t nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-test-project "projectile" "\
|
|
||||||
Run project test command.
|
|
||||||
|
|
||||||
Normally you'll be prompted for a compilation command, unless
|
|
||||||
variable `compilation-read-command'. You can force the prompt
|
|
||||||
with a prefix ARG.
|
|
||||||
|
|
||||||
\(fn ARG)" t nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-install-project "projectile" "\
|
|
||||||
Run project install command.
|
|
||||||
|
|
||||||
Normally you'll be prompted for a compilation command, unless
|
|
||||||
variable `compilation-read-command'. You can force the prompt
|
|
||||||
with a prefix ARG.
|
|
||||||
|
|
||||||
\(fn ARG)" t nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-package-project "projectile" "\
|
|
||||||
Run project package command.
|
|
||||||
|
|
||||||
Normally you'll be prompted for a compilation command, unless
|
|
||||||
variable `compilation-read-command'. You can force the prompt
|
|
||||||
with a prefix ARG.
|
|
||||||
|
|
||||||
\(fn ARG)" t nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-run-project "projectile" "\
|
|
||||||
Run project run command.
|
|
||||||
|
|
||||||
Normally you'll be prompted for a compilation command, unless
|
|
||||||
variable `compilation-read-command'. You can force the prompt
|
|
||||||
with a prefix ARG.
|
|
||||||
|
|
||||||
\(fn ARG)" t nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-repeat-last-command "projectile" "\
|
|
||||||
Run last projectile external command.
|
|
||||||
|
|
||||||
External commands are: `projectile-configure-project',
|
|
||||||
`projectile-compile-project', `projectile-test-project',
|
|
||||||
`projectile-install-project', `projectile-package-project',
|
|
||||||
and `projectile-run-project'.
|
|
||||||
|
|
||||||
If the prefix argument SHOW_PROMPT is non nil, the command can be edited.
|
|
||||||
|
|
||||||
\(fn SHOW-PROMPT)" t nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-switch-project "projectile" "\
|
|
||||||
Switch to a project we have visited before.
|
|
||||||
Invokes the command referenced by `projectile-switch-project-action' on switch.
|
|
||||||
With a prefix ARG invokes `projectile-commander' instead of
|
|
||||||
`projectile-switch-project-action.'
|
|
||||||
|
|
||||||
\(fn &optional ARG)" t nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-switch-open-project "projectile" "\
|
|
||||||
Switch to a project we have currently opened.
|
|
||||||
Invokes the command referenced by `projectile-switch-project-action' on switch.
|
|
||||||
With a prefix ARG invokes `projectile-commander' instead of
|
|
||||||
`projectile-switch-project-action.'
|
|
||||||
|
|
||||||
\(fn &optional ARG)" t nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-find-file-in-directory "projectile" "\
|
|
||||||
Jump to a file in a (maybe regular) DIRECTORY.
|
|
||||||
|
|
||||||
This command will first prompt for the directory the file is in.
|
|
||||||
|
|
||||||
\(fn &optional DIRECTORY)" t nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-find-file-in-known-projects "projectile" "\
|
|
||||||
Jump to a file in any of the known projects." t nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-cleanup-known-projects "projectile" "\
|
|
||||||
Remove known projects that don't exist anymore." t nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-clear-known-projects "projectile" "\
|
|
||||||
Clear both `projectile-known-projects' and `projectile-known-projects-file'." t nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-reset-known-projects "projectile" "\
|
|
||||||
Clear known projects and rediscover." t nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-remove-known-project "projectile" "\
|
|
||||||
Remove PROJECT from the list of known projects.
|
|
||||||
|
|
||||||
\(fn &optional PROJECT)" t nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-remove-current-project-from-known-projects "projectile" "\
|
|
||||||
Remove the current project from the list of known projects." t nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-add-known-project "projectile" "\
|
|
||||||
Add PROJECT-ROOT to the list of known projects.
|
|
||||||
|
|
||||||
\(fn PROJECT-ROOT)" t nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-ibuffer "projectile" "\
|
|
||||||
Open an IBuffer window showing all buffers in the current project.
|
|
||||||
|
|
||||||
Let user choose another project when PROMPT-FOR-PROJECT is supplied.
|
|
||||||
|
|
||||||
\(fn PROMPT-FOR-PROJECT)" t nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-commander "projectile" "\
|
|
||||||
Execute a Projectile command with a single letter.
|
|
||||||
The user is prompted for a single character indicating the action to invoke.
|
|
||||||
The `?' character describes then
|
|
||||||
available actions.
|
|
||||||
|
|
||||||
See `def-projectile-commander-method' for defining new methods." t nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-browse-dirty-projects "projectile" "\
|
|
||||||
Browse dirty version controlled projects.
|
|
||||||
|
|
||||||
With a prefix argument, or if CACHED is non-nil, try to use the cached
|
|
||||||
dirty project list.
|
|
||||||
|
|
||||||
\(fn &optional CACHED)" t nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-edit-dir-locals "projectile" "\
|
|
||||||
Edit or create a .dir-locals.el file of the project." t nil)
|
|
||||||
|
|
||||||
(defvar projectile-mode nil "\
|
|
||||||
Non-nil if Projectile mode is enabled.
|
|
||||||
See the `projectile-mode' command
|
|
||||||
for a description of this minor mode.
|
|
||||||
Setting this variable directly does not take effect;
|
|
||||||
either customize it (see the info node `Easy Customization')
|
|
||||||
or call the function `projectile-mode'.")
|
|
||||||
|
|
||||||
(custom-autoload 'projectile-mode "projectile" nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-mode "projectile" "\
|
|
||||||
Minor mode to assist project management and navigation.
|
|
||||||
|
|
||||||
When called interactively, toggle `projectile-mode'. With prefix
|
|
||||||
ARG, enable `projectile-mode' if ARG is positive, otherwise disable
|
|
||||||
it.
|
|
||||||
|
|
||||||
When called from Lisp, enable `projectile-mode' if ARG is omitted,
|
|
||||||
nil or positive. If ARG is `toggle', toggle `projectile-mode'.
|
|
||||||
Otherwise behave as if called interactively.
|
|
||||||
|
|
||||||
\\{projectile-mode-map}
|
|
||||||
|
|
||||||
\(fn &optional ARG)" t nil)
|
|
||||||
|
|
||||||
(define-obsolete-function-alias 'projectile-global-mode 'projectile-mode "1.0")
|
|
||||||
|
|
||||||
(register-definition-prefixes "projectile" '("??" "compilation-find-file-projectile-find-compilation-buffer" "def-projectile-commander-method" "delete-file-projectile-remove-from-cache" "project"))
|
|
||||||
|
|
||||||
;;;***
|
|
||||||
|
|
||||||
;; Local Variables:
|
|
||||||
;; version-control: never
|
|
||||||
;; no-byte-compile: t
|
|
||||||
;; no-update-autoloads: t
|
|
||||||
;; coding: utf-8
|
|
||||||
;; End:
|
|
||||||
;;; projectile-autoloads.el ends here
|
|
|
@ -1,2 +0,0 @@
|
||||||
;;; Generated package description from projectile.el -*- no-byte-compile: t -*-
|
|
||||||
(define-package "projectile" "20221105.1641" "Manage and navigate projects in Emacs easily" '((emacs "25.1")) :commit "3de6bdc2ae6c5ce08bce3726cec936e4da5d9bad" :authors '(("Bozhidar Batsov" . "bozhidar@batsov.dev")) :maintainer '("Bozhidar Batsov" . "bozhidar@batsov.dev") :keywords '("project" "convenience") :url "https://github.com/bbatsov/projectile")
|
|
File diff suppressed because it is too large
Load diff
|
@ -1,640 +0,0 @@
|
||||||
;;; projectile-autoloads.el --- automatically extracted autoloads -*- lexical-binding: t -*-
|
|
||||||
;;
|
|
||||||
;;; Code:
|
|
||||||
|
|
||||||
(add-to-list 'load-path (directory-file-name
|
|
||||||
(or (file-name-directory #$) (car load-path))))
|
|
||||||
|
|
||||||
|
|
||||||
;;;### (autoloads nil "projectile" "projectile.el" (0 0 0 0))
|
|
||||||
;;; Generated autoloads from projectile.el
|
|
||||||
|
|
||||||
(autoload 'projectile-version "projectile" "\
|
|
||||||
Get the Projectile version as string.
|
|
||||||
|
|
||||||
If called interactively or if SHOW-VERSION is non-nil, show the
|
|
||||||
version in the echo area and the messages buffer.
|
|
||||||
|
|
||||||
The returned string includes both, the version from package.el
|
|
||||||
and the library version, if both a present and different.
|
|
||||||
|
|
||||||
If the version number could not be determined, signal an error,
|
|
||||||
if called interactively, or if SHOW-VERSION is non-nil, otherwise
|
|
||||||
just return nil.
|
|
||||||
|
|
||||||
\(fn &optional SHOW-VERSION)" t nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-invalidate-cache "projectile" "\
|
|
||||||
Remove the current project's files from `projectile-projects-cache'.
|
|
||||||
|
|
||||||
With a prefix argument PROMPT prompts for the name of the project whose cache
|
|
||||||
to invalidate.
|
|
||||||
|
|
||||||
\(fn PROMPT)" t nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-purge-file-from-cache "projectile" "\
|
|
||||||
Purge FILE from the cache of the current project.
|
|
||||||
|
|
||||||
\(fn FILE)" t nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-purge-dir-from-cache "projectile" "\
|
|
||||||
Purge DIR from the cache of the current project.
|
|
||||||
|
|
||||||
\(fn DIR)" t nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-cache-current-file "projectile" "\
|
|
||||||
Add the currently visited file to the cache." t nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-discover-projects-in-directory "projectile" "\
|
|
||||||
Discover any projects in DIRECTORY and add them to the projectile cache.
|
|
||||||
|
|
||||||
If DEPTH is non-nil recursively descend exactly DEPTH levels below DIRECTORY and
|
|
||||||
discover projects there.
|
|
||||||
|
|
||||||
\(fn DIRECTORY &optional DEPTH)" t nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-discover-projects-in-search-path "projectile" "\
|
|
||||||
Discover projects in `projectile-project-search-path'.
|
|
||||||
Invoked automatically when `projectile-mode' is enabled." t nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-switch-to-buffer "projectile" "\
|
|
||||||
Switch to a project buffer." t nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-switch-to-buffer-other-window "projectile" "\
|
|
||||||
Switch to a project buffer and show it in another window." t nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-switch-to-buffer-other-frame "projectile" "\
|
|
||||||
Switch to a project buffer and show it in another frame." t nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-display-buffer "projectile" "\
|
|
||||||
Display a project buffer in another window without selecting it." t nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-project-buffers-other-buffer "projectile" "\
|
|
||||||
Switch to the most recently selected buffer project buffer.
|
|
||||||
Only buffers not visible in windows are returned." t nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-multi-occur "projectile" "\
|
|
||||||
Do a `multi-occur' in the project's buffers.
|
|
||||||
With a prefix argument, show NLINES of context.
|
|
||||||
|
|
||||||
\(fn &optional NLINES)" t nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-find-other-file "projectile" "\
|
|
||||||
Switch between files with the same name but different extensions.
|
|
||||||
With FLEX-MATCHING, match any file that contains the base name of current file.
|
|
||||||
Other file extensions can be customized with the variable
|
|
||||||
`projectile-other-file-alist'.
|
|
||||||
|
|
||||||
\(fn &optional FLEX-MATCHING)" t nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-find-other-file-other-window "projectile" "\
|
|
||||||
Switch between files with different extensions in other window.
|
|
||||||
Switch between files with the same name but different extensions in other
|
|
||||||
window. With FLEX-MATCHING, match any file that contains the base name of
|
|
||||||
current file. Other file extensions can be customized with the variable
|
|
||||||
`projectile-other-file-alist'.
|
|
||||||
|
|
||||||
\(fn &optional FLEX-MATCHING)" t nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-find-other-file-other-frame "projectile" "\
|
|
||||||
Switch between files with different extensions in other frame.
|
|
||||||
Switch between files with the same name but different extensions in other frame.
|
|
||||||
With FLEX-MATCHING, match any file that contains the base name of current
|
|
||||||
file. Other file extensions can be customized with the variable
|
|
||||||
`projectile-other-file-alist'.
|
|
||||||
|
|
||||||
\(fn &optional FLEX-MATCHING)" t nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-find-file-dwim "projectile" "\
|
|
||||||
Jump to a project's files using completion based on context.
|
|
||||||
|
|
||||||
With a prefix arg INVALIDATE-CACHE invalidates the cache first.
|
|
||||||
|
|
||||||
If point is on a filename, Projectile first tries to search for that
|
|
||||||
file in project:
|
|
||||||
|
|
||||||
- If it finds just a file, it switches to that file instantly. This works
|
|
||||||
even if the filename is incomplete, but there's only a single file in the
|
|
||||||
current project that matches the filename at point. For example, if
|
|
||||||
there's only a single file named \"projectile/projectile.el\" but the
|
|
||||||
current filename is \"projectile/proj\" (incomplete),
|
|
||||||
`projectile-find-file-dwim' still switches to \"projectile/projectile.el\"
|
|
||||||
immediately because this is the only filename that matches.
|
|
||||||
|
|
||||||
- If it finds a list of files, the list is displayed for selecting. A list
|
|
||||||
of files is displayed when a filename appears more than one in the project
|
|
||||||
or the filename at point is a prefix of more than two files in a project.
|
|
||||||
For example, if `projectile-find-file-dwim' is executed on a filepath like
|
|
||||||
\"projectile/\", it lists the content of that directory. If it is executed
|
|
||||||
on a partial filename like \"projectile/a\", a list of files with character
|
|
||||||
\"a\" in that directory is presented.
|
|
||||||
|
|
||||||
- If it finds nothing, display a list of all files in project for selecting.
|
|
||||||
|
|
||||||
\(fn &optional INVALIDATE-CACHE)" t nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-find-file-dwim-other-window "projectile" "\
|
|
||||||
Jump to a project's files using completion based on context in other window.
|
|
||||||
|
|
||||||
With a prefix arg INVALIDATE-CACHE invalidates the cache first.
|
|
||||||
|
|
||||||
If point is on a filename, Projectile first tries to search for that
|
|
||||||
file in project:
|
|
||||||
|
|
||||||
- If it finds just a file, it switches to that file instantly. This works
|
|
||||||
even if the filename is incomplete, but there's only a single file in the
|
|
||||||
current project that matches the filename at point. For example, if
|
|
||||||
there's only a single file named \"projectile/projectile.el\" but the
|
|
||||||
current filename is \"projectile/proj\" (incomplete),
|
|
||||||
`projectile-find-file-dwim-other-window' still switches to
|
|
||||||
\"projectile/projectile.el\" immediately because this is the only filename
|
|
||||||
that matches.
|
|
||||||
|
|
||||||
- If it finds a list of files, the list is displayed for selecting. A list
|
|
||||||
of files is displayed when a filename appears more than one in the project
|
|
||||||
or the filename at point is a prefix of more than two files in a project.
|
|
||||||
For example, if `projectile-find-file-dwim-other-window' is executed on a
|
|
||||||
filepath like \"projectile/\", it lists the content of that directory. If
|
|
||||||
it is executed on a partial filename like \"projectile/a\", a list of files
|
|
||||||
with character \"a\" in that directory is presented.
|
|
||||||
|
|
||||||
- If it finds nothing, display a list of all files in project for selecting.
|
|
||||||
|
|
||||||
\(fn &optional INVALIDATE-CACHE)" t nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-find-file-dwim-other-frame "projectile" "\
|
|
||||||
Jump to a project's files using completion based on context in other frame.
|
|
||||||
|
|
||||||
With a prefix arg INVALIDATE-CACHE invalidates the cache first.
|
|
||||||
|
|
||||||
If point is on a filename, Projectile first tries to search for that
|
|
||||||
file in project:
|
|
||||||
|
|
||||||
- If it finds just a file, it switches to that file instantly. This works
|
|
||||||
even if the filename is incomplete, but there's only a single file in the
|
|
||||||
current project that matches the filename at point. For example, if
|
|
||||||
there's only a single file named \"projectile/projectile.el\" but the
|
|
||||||
current filename is \"projectile/proj\" (incomplete),
|
|
||||||
`projectile-find-file-dwim-other-frame' still switches to
|
|
||||||
\"projectile/projectile.el\" immediately because this is the only filename
|
|
||||||
that matches.
|
|
||||||
|
|
||||||
- If it finds a list of files, the list is displayed for selecting. A list
|
|
||||||
of files is displayed when a filename appears more than one in the project
|
|
||||||
or the filename at point is a prefix of more than two files in a project.
|
|
||||||
For example, if `projectile-find-file-dwim-other-frame' is executed on a
|
|
||||||
filepath like \"projectile/\", it lists the content of that directory. If
|
|
||||||
it is executed on a partial filename like \"projectile/a\", a list of files
|
|
||||||
with character \"a\" in that directory is presented.
|
|
||||||
|
|
||||||
- If it finds nothing, display a list of all files in project for selecting.
|
|
||||||
|
|
||||||
\(fn &optional INVALIDATE-CACHE)" t nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-find-file "projectile" "\
|
|
||||||
Jump to a project's file using completion.
|
|
||||||
With a prefix arg INVALIDATE-CACHE invalidates the cache first.
|
|
||||||
|
|
||||||
\(fn &optional INVALIDATE-CACHE)" t nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-find-file-other-window "projectile" "\
|
|
||||||
Jump to a project's file using completion and show it in another window.
|
|
||||||
|
|
||||||
With a prefix arg INVALIDATE-CACHE invalidates the cache first.
|
|
||||||
|
|
||||||
\(fn &optional INVALIDATE-CACHE)" t nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-find-file-other-frame "projectile" "\
|
|
||||||
Jump to a project's file using completion and show it in another frame.
|
|
||||||
|
|
||||||
With a prefix arg INVALIDATE-CACHE invalidates the cache first.
|
|
||||||
|
|
||||||
\(fn &optional INVALIDATE-CACHE)" t nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-toggle-project-read-only "projectile" "\
|
|
||||||
Toggle project read only." t nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-add-dir-local-variable "projectile" "\
|
|
||||||
Run `add-dir-local-variable' with .dir-locals.el in root of project.
|
|
||||||
|
|
||||||
Parameters MODE VARIABLE VALUE are passed directly to `add-dir-local-variable'.
|
|
||||||
|
|
||||||
\(fn MODE VARIABLE VALUE)" nil nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-delete-dir-local-variable "projectile" "\
|
|
||||||
Run `delete-dir-local-variable' with .dir-locals.el in root of project.
|
|
||||||
|
|
||||||
Parameters MODE VARIABLE VALUE are passed directly to
|
|
||||||
`delete-dir-local-variable'.
|
|
||||||
|
|
||||||
\(fn MODE VARIABLE)" nil nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-find-dir "projectile" "\
|
|
||||||
Jump to a project's directory using completion.
|
|
||||||
|
|
||||||
With a prefix arg INVALIDATE-CACHE invalidates the cache first.
|
|
||||||
|
|
||||||
\(fn &optional INVALIDATE-CACHE)" t nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-find-dir-other-window "projectile" "\
|
|
||||||
Jump to a project's directory in other window using completion.
|
|
||||||
|
|
||||||
With a prefix arg INVALIDATE-CACHE invalidates the cache first.
|
|
||||||
|
|
||||||
\(fn &optional INVALIDATE-CACHE)" t nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-find-dir-other-frame "projectile" "\
|
|
||||||
Jump to a project's directory in other frame using completion.
|
|
||||||
|
|
||||||
With a prefix arg INVALIDATE-CACHE invalidates the cache first.
|
|
||||||
|
|
||||||
\(fn &optional INVALIDATE-CACHE)" t nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-find-test-file "projectile" "\
|
|
||||||
Jump to a project's test file using completion.
|
|
||||||
|
|
||||||
With a prefix arg INVALIDATE-CACHE invalidates the cache first.
|
|
||||||
|
|
||||||
\(fn &optional INVALIDATE-CACHE)" t nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-find-related-file-other-window "projectile" "\
|
|
||||||
Open related file in other window." t nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-find-related-file-other-frame "projectile" "\
|
|
||||||
Open related file in other frame." t nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-find-related-file "projectile" "\
|
|
||||||
Open related file." t nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-related-files-fn-groups "projectile" "\
|
|
||||||
Generate a related-files-fn which relates as KIND for files in each of GROUPS.
|
|
||||||
|
|
||||||
\(fn KIND GROUPS)" nil nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-related-files-fn-extensions "projectile" "\
|
|
||||||
Generate a related-files-fn which relates as KIND for files having EXTENSIONS.
|
|
||||||
|
|
||||||
\(fn KIND EXTENSIONS)" nil nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-related-files-fn-test-with-prefix "projectile" "\
|
|
||||||
Generate a related-files-fn which relates tests and impl.
|
|
||||||
Use files with EXTENSION based on TEST-PREFIX.
|
|
||||||
|
|
||||||
\(fn EXTENSION TEST-PREFIX)" nil nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-related-files-fn-test-with-suffix "projectile" "\
|
|
||||||
Generate a related-files-fn which relates tests and impl.
|
|
||||||
Use files with EXTENSION based on TEST-SUFFIX.
|
|
||||||
|
|
||||||
\(fn EXTENSION TEST-SUFFIX)" nil nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-project-info "projectile" "\
|
|
||||||
Display info for current project." t nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-find-implementation-or-test-other-window "projectile" "\
|
|
||||||
Open matching implementation or test file in other window.
|
|
||||||
|
|
||||||
See the documentation of `projectile--find-matching-file' and
|
|
||||||
`projectile--find-matching-test' for how implementation and test files
|
|
||||||
are determined." t nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-find-implementation-or-test-other-frame "projectile" "\
|
|
||||||
Open matching implementation or test file in other frame.
|
|
||||||
|
|
||||||
See the documentation of `projectile--find-matching-file' and
|
|
||||||
`projectile--find-matching-test' for how implementation and test files
|
|
||||||
are determined." t nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-toggle-between-implementation-and-test "projectile" "\
|
|
||||||
Toggle between an implementation file and its test file.
|
|
||||||
|
|
||||||
|
|
||||||
See the documentation of `projectile--find-matching-file' and
|
|
||||||
`projectile--find-matching-test' for how implementation and test files
|
|
||||||
are determined." t nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-grep "projectile" "\
|
|
||||||
Perform rgrep in the project.
|
|
||||||
|
|
||||||
With a prefix ARG asks for files (globbing-aware) which to grep in.
|
|
||||||
With prefix ARG of `-' (such as `M--'), default the files (without prompt),
|
|
||||||
to `projectile-grep-default-files'.
|
|
||||||
|
|
||||||
With REGEXP given, don't query the user for a regexp.
|
|
||||||
|
|
||||||
\(fn &optional REGEXP ARG)" t nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-ag "projectile" "\
|
|
||||||
Run an ag search with SEARCH-TERM in the project.
|
|
||||||
|
|
||||||
With an optional prefix argument ARG SEARCH-TERM is interpreted as a
|
|
||||||
regular expression.
|
|
||||||
|
|
||||||
\(fn SEARCH-TERM &optional ARG)" t nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-ripgrep "projectile" "\
|
|
||||||
Run a ripgrep (rg) search with `SEARCH-TERM' at current project root.
|
|
||||||
|
|
||||||
With an optional prefix argument ARG SEARCH-TERM is interpreted as a
|
|
||||||
regular expression.
|
|
||||||
|
|
||||||
This command depends on of the Emacs packages ripgrep or rg being
|
|
||||||
installed to work.
|
|
||||||
|
|
||||||
\(fn SEARCH-TERM &optional ARG)" t nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-regenerate-tags "projectile" "\
|
|
||||||
Regenerate the project's [e|g]tags." t nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-find-tag "projectile" "\
|
|
||||||
Find tag in project." t nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-run-command-in-root "projectile" "\
|
|
||||||
Invoke `execute-extended-command' in the project's root." t nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-run-shell-command-in-root "projectile" "\
|
|
||||||
Invoke `shell-command' in the project's root.
|
|
||||||
|
|
||||||
\(fn COMMAND &optional OUTPUT-BUFFER ERROR-BUFFER)" t nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-run-async-shell-command-in-root "projectile" "\
|
|
||||||
Invoke `async-shell-command' in the project's root.
|
|
||||||
|
|
||||||
\(fn COMMAND &optional OUTPUT-BUFFER ERROR-BUFFER)" t nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-run-gdb "projectile" "\
|
|
||||||
Invoke `gdb' in the project's root." t nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-run-shell "projectile" "\
|
|
||||||
Invoke `shell' in the project's root.
|
|
||||||
|
|
||||||
Switch to the project specific shell buffer if it already exists.
|
|
||||||
|
|
||||||
Use a prefix argument ARG to indicate creation of a new process instead.
|
|
||||||
|
|
||||||
\(fn &optional ARG)" t nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-run-eshell "projectile" "\
|
|
||||||
Invoke `eshell' in the project's root.
|
|
||||||
|
|
||||||
Switch to the project specific eshell buffer if it already exists.
|
|
||||||
|
|
||||||
Use a prefix argument ARG to indicate creation of a new process instead.
|
|
||||||
|
|
||||||
\(fn &optional ARG)" t nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-run-ielm "projectile" "\
|
|
||||||
Invoke `ielm' in the project's root.
|
|
||||||
|
|
||||||
Switch to the project specific ielm buffer if it already exists.
|
|
||||||
|
|
||||||
Use a prefix argument ARG to indicate creation of a new process instead.
|
|
||||||
|
|
||||||
\(fn &optional ARG)" t nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-run-term "projectile" "\
|
|
||||||
Invoke `term' in the project's root.
|
|
||||||
|
|
||||||
Switch to the project specific term buffer if it already exists.
|
|
||||||
|
|
||||||
Use a prefix argument ARG to indicate creation of a new process instead.
|
|
||||||
|
|
||||||
\(fn &optional ARG)" t nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-run-vterm "projectile" "\
|
|
||||||
Invoke `vterm' in the project's root.
|
|
||||||
|
|
||||||
Switch to the project specific term buffer if it already exists.
|
|
||||||
|
|
||||||
Use a prefix argument ARG to indicate creation of a new process instead.
|
|
||||||
|
|
||||||
\(fn &optional ARG)" t nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-replace "projectile" "\
|
|
||||||
Replace literal string in project using non-regexp `tags-query-replace'.
|
|
||||||
|
|
||||||
With a prefix argument ARG prompts you for a directory and file name patterns
|
|
||||||
on which to run the replacement.
|
|
||||||
|
|
||||||
\(fn &optional ARG)" t nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-replace-regexp "projectile" "\
|
|
||||||
Replace a regexp in the project using `tags-query-replace'.
|
|
||||||
|
|
||||||
With a prefix argument ARG prompts you for a directory on which
|
|
||||||
to run the replacement.
|
|
||||||
|
|
||||||
\(fn &optional ARG)" t nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-kill-buffers "projectile" "\
|
|
||||||
Kill project buffers.
|
|
||||||
|
|
||||||
The buffer are killed according to the value of
|
|
||||||
`projectile-kill-buffers-filter'." t nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-save-project-buffers "projectile" "\
|
|
||||||
Save all project buffers." t nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-dired "projectile" "\
|
|
||||||
Open `dired' at the root of the project." t nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-dired-other-window "projectile" "\
|
|
||||||
Open `dired' at the root of the project in another window." t nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-dired-other-frame "projectile" "\
|
|
||||||
Open `dired' at the root of the project in another frame." t nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-vc "projectile" "\
|
|
||||||
Open `vc-dir' at the root of the project.
|
|
||||||
|
|
||||||
For git projects `magit-status-internal' is used if available.
|
|
||||||
For hg projects `monky-status' is used if available.
|
|
||||||
|
|
||||||
If PROJECT-ROOT is given, it is opened instead of the project
|
|
||||||
root directory of the current buffer file. If interactively
|
|
||||||
called with a prefix argument, the user is prompted for a project
|
|
||||||
directory to open.
|
|
||||||
|
|
||||||
\(fn &optional PROJECT-ROOT)" t nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-recentf "projectile" "\
|
|
||||||
Show a list of recently visited files in a project." t nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-configure-project "projectile" "\
|
|
||||||
Run project configure command.
|
|
||||||
|
|
||||||
Normally you'll be prompted for a compilation command, unless
|
|
||||||
variable `compilation-read-command'. You can force the prompt
|
|
||||||
with a prefix ARG.
|
|
||||||
|
|
||||||
\(fn ARG)" t nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-compile-project "projectile" "\
|
|
||||||
Run project compilation command.
|
|
||||||
|
|
||||||
Normally you'll be prompted for a compilation command, unless
|
|
||||||
variable `compilation-read-command'. You can force the prompt
|
|
||||||
with a prefix ARG.
|
|
||||||
|
|
||||||
\(fn ARG)" t nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-test-project "projectile" "\
|
|
||||||
Run project test command.
|
|
||||||
|
|
||||||
Normally you'll be prompted for a compilation command, unless
|
|
||||||
variable `compilation-read-command'. You can force the prompt
|
|
||||||
with a prefix ARG.
|
|
||||||
|
|
||||||
\(fn ARG)" t nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-install-project "projectile" "\
|
|
||||||
Run project install command.
|
|
||||||
|
|
||||||
Normally you'll be prompted for a compilation command, unless
|
|
||||||
variable `compilation-read-command'. You can force the prompt
|
|
||||||
with a prefix ARG.
|
|
||||||
|
|
||||||
\(fn ARG)" t nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-package-project "projectile" "\
|
|
||||||
Run project package command.
|
|
||||||
|
|
||||||
Normally you'll be prompted for a compilation command, unless
|
|
||||||
variable `compilation-read-command'. You can force the prompt
|
|
||||||
with a prefix ARG.
|
|
||||||
|
|
||||||
\(fn ARG)" t nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-run-project "projectile" "\
|
|
||||||
Run project run command.
|
|
||||||
|
|
||||||
Normally you'll be prompted for a compilation command, unless
|
|
||||||
variable `compilation-read-command'. You can force the prompt
|
|
||||||
with a prefix ARG.
|
|
||||||
|
|
||||||
\(fn ARG)" t nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-repeat-last-command "projectile" "\
|
|
||||||
Run last projectile external command.
|
|
||||||
|
|
||||||
External commands are: `projectile-configure-project',
|
|
||||||
`projectile-compile-project', `projectile-test-project',
|
|
||||||
`projectile-install-project', `projectile-package-project',
|
|
||||||
and `projectile-run-project'.
|
|
||||||
|
|
||||||
If the prefix argument SHOW_PROMPT is non nil, the command can be edited.
|
|
||||||
|
|
||||||
\(fn SHOW-PROMPT)" t nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-switch-project "projectile" "\
|
|
||||||
Switch to a project we have visited before.
|
|
||||||
Invokes the command referenced by `projectile-switch-project-action' on switch.
|
|
||||||
With a prefix ARG invokes `projectile-commander' instead of
|
|
||||||
`projectile-switch-project-action.'
|
|
||||||
|
|
||||||
\(fn &optional ARG)" t nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-switch-open-project "projectile" "\
|
|
||||||
Switch to a project we have currently opened.
|
|
||||||
Invokes the command referenced by `projectile-switch-project-action' on switch.
|
|
||||||
With a prefix ARG invokes `projectile-commander' instead of
|
|
||||||
`projectile-switch-project-action.'
|
|
||||||
|
|
||||||
\(fn &optional ARG)" t nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-find-file-in-directory "projectile" "\
|
|
||||||
Jump to a file in a (maybe regular) DIRECTORY.
|
|
||||||
|
|
||||||
This command will first prompt for the directory the file is in.
|
|
||||||
|
|
||||||
\(fn &optional DIRECTORY)" t nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-find-file-in-known-projects "projectile" "\
|
|
||||||
Jump to a file in any of the known projects." t nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-cleanup-known-projects "projectile" "\
|
|
||||||
Remove known projects that don't exist anymore." t nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-clear-known-projects "projectile" "\
|
|
||||||
Clear both `projectile-known-projects' and `projectile-known-projects-file'." t nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-reset-known-projects "projectile" "\
|
|
||||||
Clear known projects and rediscover." t nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-remove-known-project "projectile" "\
|
|
||||||
Remove PROJECT from the list of known projects.
|
|
||||||
|
|
||||||
\(fn &optional PROJECT)" t nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-remove-current-project-from-known-projects "projectile" "\
|
|
||||||
Remove the current project from the list of known projects." t nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-add-known-project "projectile" "\
|
|
||||||
Add PROJECT-ROOT to the list of known projects.
|
|
||||||
|
|
||||||
\(fn PROJECT-ROOT)" t nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-ibuffer "projectile" "\
|
|
||||||
Open an IBuffer window showing all buffers in the current project.
|
|
||||||
|
|
||||||
Let user choose another project when PROMPT-FOR-PROJECT is supplied.
|
|
||||||
|
|
||||||
\(fn PROMPT-FOR-PROJECT)" t nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-commander "projectile" "\
|
|
||||||
Execute a Projectile command with a single letter.
|
|
||||||
The user is prompted for a single character indicating the action to invoke.
|
|
||||||
The `?' character describes then
|
|
||||||
available actions.
|
|
||||||
|
|
||||||
See `def-projectile-commander-method' for defining new methods." t nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-browse-dirty-projects "projectile" "\
|
|
||||||
Browse dirty version controlled projects.
|
|
||||||
|
|
||||||
With a prefix argument, or if CACHED is non-nil, try to use the cached
|
|
||||||
dirty project list.
|
|
||||||
|
|
||||||
\(fn &optional CACHED)" t nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-edit-dir-locals "projectile" "\
|
|
||||||
Edit or create a .dir-locals.el file of the project." t nil)
|
|
||||||
|
|
||||||
(defvar projectile-mode nil "\
|
|
||||||
Non-nil if Projectile mode is enabled.
|
|
||||||
See the `projectile-mode' command
|
|
||||||
for a description of this minor mode.
|
|
||||||
Setting this variable directly does not take effect;
|
|
||||||
either customize it (see the info node `Easy Customization')
|
|
||||||
or call the function `projectile-mode'.")
|
|
||||||
|
|
||||||
(custom-autoload 'projectile-mode "projectile" nil)
|
|
||||||
|
|
||||||
(autoload 'projectile-mode "projectile" "\
|
|
||||||
Minor mode to assist project management and navigation.
|
|
||||||
|
|
||||||
When called interactively, toggle `projectile-mode'. With prefix
|
|
||||||
ARG, enable `projectile-mode' if ARG is positive, otherwise disable
|
|
||||||
it.
|
|
||||||
|
|
||||||
When called from Lisp, enable `projectile-mode' if ARG is omitted,
|
|
||||||
nil or positive. If ARG is `toggle', toggle `projectile-mode'.
|
|
||||||
Otherwise behave as if called interactively.
|
|
||||||
|
|
||||||
\\{projectile-mode-map}
|
|
||||||
|
|
||||||
\(fn &optional ARG)" t nil)
|
|
||||||
|
|
||||||
(define-obsolete-function-alias 'projectile-global-mode 'projectile-mode "1.0")
|
|
||||||
|
|
||||||
(register-definition-prefixes "projectile" '("??" "compilation-find-file-projectile-find-compilation-buffer" "def-projectile-commander-method" "delete-file-projectile-remove-from-cache" "project"))
|
|
||||||
|
|
||||||
;;;***
|
|
||||||
|
|
||||||
;; Local Variables:
|
|
||||||
;; version-control: never
|
|
||||||
;; no-byte-compile: t
|
|
||||||
;; no-update-autoloads: t
|
|
||||||
;; coding: utf-8
|
|
||||||
;; End:
|
|
||||||
;;; projectile-autoloads.el ends here
|
|
|
@ -1,2 +0,0 @@
|
||||||
;;; Generated package description from projectile.el -*- no-byte-compile: t -*-
|
|
||||||
(define-package "projectile" "20230219.647" "Manage and navigate projects in Emacs easily" '((emacs "25.1")) :commit "fd257811c46f89f53143dd0ccbc134fc9459d6bb" :authors '(("Bozhidar Batsov" . "bozhidar@batsov.dev")) :maintainer '("Bozhidar Batsov" . "bozhidar@batsov.dev") :keywords '("project" "convenience") :url "https://github.com/bbatsov/projectile")
|
|
File diff suppressed because it is too large
Load diff
|
@ -1,59 +0,0 @@
|
||||||
;;; transpose-frame-autoloads.el --- automatically extracted autoloads -*- lexical-binding: t -*-
|
|
||||||
;;
|
|
||||||
;;; Code:
|
|
||||||
|
|
||||||
(add-to-list 'load-path (directory-file-name
|
|
||||||
(or (file-name-directory #$) (car load-path))))
|
|
||||||
|
|
||||||
|
|
||||||
;;;### (autoloads nil "transpose-frame" "transpose-frame.el" (0 0
|
|
||||||
;;;;;; 0 0))
|
|
||||||
;;; Generated autoloads from transpose-frame.el
|
|
||||||
|
|
||||||
(autoload 'transpose-frame "transpose-frame" "\
|
|
||||||
Transpose windows arrangement at FRAME.
|
|
||||||
Omitting FRAME means currently selected frame.
|
|
||||||
|
|
||||||
\(fn &optional FRAME)" t nil)
|
|
||||||
|
|
||||||
(autoload 'flip-frame "transpose-frame" "\
|
|
||||||
Flip windows arrangement vertically at FRAME.
|
|
||||||
Omitting FRAME means currently selected frame.
|
|
||||||
|
|
||||||
\(fn &optional FRAME)" t nil)
|
|
||||||
|
|
||||||
(autoload 'flop-frame "transpose-frame" "\
|
|
||||||
Flop windows arrangement horizontally at FRAME.
|
|
||||||
Omitting FRAME means currently selected frame.
|
|
||||||
|
|
||||||
\(fn &optional FRAME)" t nil)
|
|
||||||
|
|
||||||
(autoload 'rotate-frame "transpose-frame" "\
|
|
||||||
Rotate windows arrangement 180 degrees at FRAME.
|
|
||||||
Omitting FRAME means currently selected frame.
|
|
||||||
|
|
||||||
\(fn &optional FRAME)" t nil)
|
|
||||||
|
|
||||||
(autoload 'rotate-frame-clockwise "transpose-frame" "\
|
|
||||||
Rotate windows arrangement 90 degrees clockwise at FRAME.
|
|
||||||
Omitting FRAME means currently selected frame.
|
|
||||||
|
|
||||||
\(fn &optional FRAME)" t nil)
|
|
||||||
|
|
||||||
(autoload 'rotate-frame-anticlockwise "transpose-frame" "\
|
|
||||||
Rotate windows arrangement 90 degrees anti-clockwise at FRAME.
|
|
||||||
Omitting FRAME means currently selected frame.
|
|
||||||
|
|
||||||
\(fn &optional FRAME)" t nil)
|
|
||||||
|
|
||||||
(register-definition-prefixes "transpose-frame" '("transpose-frame-"))
|
|
||||||
|
|
||||||
;;;***
|
|
||||||
|
|
||||||
;; Local Variables:
|
|
||||||
;; version-control: never
|
|
||||||
;; no-byte-compile: t
|
|
||||||
;; no-update-autoloads: t
|
|
||||||
;; coding: utf-8
|
|
||||||
;; End:
|
|
||||||
;;; transpose-frame-autoloads.el ends here
|
|
|
@ -1,2 +0,0 @@
|
||||||
;;; Generated package description from transpose-frame.el -*- no-byte-compile: t -*-
|
|
||||||
(define-package "transpose-frame" "20220913.1749" "Transpose windows arrangement in a frame" 'nil :commit "7b7f8a1582436749a57ebbba6ead716b5a0edddc" :authors '(("S. Irie")) :maintainer '("S. Irie") :keywords '("window"))
|
|
|
@ -1,237 +0,0 @@
|
||||||
;;; transpose-frame.el --- Transpose windows arrangement in a frame
|
|
||||||
|
|
||||||
;; Copyright (c) 2011 S. Irie
|
|
||||||
|
|
||||||
;; Author: S. Irie
|
|
||||||
;; Keywords: window
|
|
||||||
;; Package-Version: 20220913.1749
|
|
||||||
;; Package-Commit: 7b7f8a1582436749a57ebbba6ead716b5a0edddc
|
|
||||||
|
|
||||||
;; This program is free software.
|
|
||||||
|
|
||||||
;; Redistribution and use in source and binary forms, with or without
|
|
||||||
;; modification, are permitted provided that the following conditions
|
|
||||||
;; are met:
|
|
||||||
|
|
||||||
;; 1. Redistributions of source code must retain the above copyright
|
|
||||||
;; notice, this list of conditions and the following disclaimer.
|
|
||||||
;; 2. Redistributions in binary form must reproduce the above copyright
|
|
||||||
;; notice, this list of conditions and the following disclaimer in the
|
|
||||||
;; documentation and/or other materials provided with the distribution.
|
|
||||||
|
|
||||||
;; THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
|
||||||
;; "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
|
||||||
;; LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
|
||||||
;; A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
|
||||||
;; OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
|
||||||
;; SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
|
|
||||||
;; TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
|
|
||||||
;; PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
|
|
||||||
;; LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
|
||||||
;; NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
|
||||||
;; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
|
|
||||||
;;; Commentary:
|
|
||||||
|
|
||||||
;; This program provides some interactive functions which allows users
|
|
||||||
;; to transpose windows arrangement in currently selected frame:
|
|
||||||
;;
|
|
||||||
;; `transpose-frame' ... Swap x-direction and y-direction
|
|
||||||
;;
|
|
||||||
;; +------------+------------+ +----------------+--------+
|
|
||||||
;; | | B | | A | |
|
|
||||||
;; | A +------------+ | | |
|
|
||||||
;; | | C | => +--------+-------+ D |
|
|
||||||
;; +------------+------------+ | B | C | |
|
|
||||||
;; | D | | | | |
|
|
||||||
;; +-------------------------+ +--------+-------+--------+
|
|
||||||
;;
|
|
||||||
;; `flip-frame' ... Flip vertically
|
|
||||||
;;
|
|
||||||
;; +------------+------------+ +------------+------------+
|
|
||||||
;; | | B | | D |
|
|
||||||
;; | A +------------+ +------------+------------+
|
|
||||||
;; | | C | => | | C |
|
|
||||||
;; +------------+------------+ | A +------------+
|
|
||||||
;; | D | | | B |
|
|
||||||
;; +-------------------------+ +------------+------------+
|
|
||||||
;;
|
|
||||||
;; `flop-frame' ... Flop horizontally
|
|
||||||
;;
|
|
||||||
;; +------------+------------+ +------------+------------+
|
|
||||||
;; | | B | | B | |
|
|
||||||
;; | A +------------+ +------------+ A |
|
|
||||||
;; | | C | => | C | |
|
|
||||||
;; +------------+------------+ +------------+------------+
|
|
||||||
;; | D | | D |
|
|
||||||
;; +-------------------------+ +-------------------------+
|
|
||||||
;;
|
|
||||||
;; `rotate-frame' ... Rotate 180 degrees
|
|
||||||
;;
|
|
||||||
;; +------------+------------+ +-------------------------+
|
|
||||||
;; | | B | | D |
|
|
||||||
;; | A +------------+ +------------+------------+
|
|
||||||
;; | | C | => | C | |
|
|
||||||
;; +------------+------------+ +------------+ A |
|
|
||||||
;; | D | | B | |
|
|
||||||
;; +-------------------------+ +------------+------------+
|
|
||||||
;;
|
|
||||||
;; `rotate-frame-clockwise' ... Rotate 90 degrees clockwise
|
|
||||||
;;
|
|
||||||
;; +------------+------------+ +-------+-----------------+
|
|
||||||
;; | | B | | | A |
|
|
||||||
;; | A +------------+ | | |
|
|
||||||
;; | | C | => | D +--------+--------+
|
|
||||||
;; +------------+------------+ | | B | C |
|
|
||||||
;; | D | | | | |
|
|
||||||
;; +-------------------------+ +-------+--------+--------+
|
|
||||||
;;
|
|
||||||
;; `rotate-frame-anticlockwise' ... Rotate 90 degrees anti-clockwise
|
|
||||||
;;
|
|
||||||
;; +------------+------------+ +--------+--------+-------+
|
|
||||||
;; | | B | | B | C | |
|
|
||||||
;; | A +------------+ | | | |
|
|
||||||
;; | | C | => +--------+--------+ D |
|
|
||||||
;; +------------+------------+ | A | |
|
|
||||||
;; | D | | | |
|
|
||||||
;; +-------------------------+ +-----------------+-------+
|
|
||||||
;;
|
|
||||||
;; This program is tested on GNU Emacs 22, 23.
|
|
||||||
|
|
||||||
;;; Code:
|
|
||||||
;;; Internal functions
|
|
||||||
|
|
||||||
(defun transpose-frame-get-arrangement (&optional frame subtree)
|
|
||||||
(let ((tree (or subtree
|
|
||||||
(car (window-tree frame)))))
|
|
||||||
(if (windowp tree)
|
|
||||||
(list (window-buffer tree)
|
|
||||||
(window-start tree)
|
|
||||||
(window-point tree)
|
|
||||||
(window-hscroll tree)
|
|
||||||
(window-margins tree)
|
|
||||||
(window-fringes tree)
|
|
||||||
(window-dedicated-p tree)
|
|
||||||
(jit-lock-register tree)
|
|
||||||
tree
|
|
||||||
(eq tree (frame-selected-window frame)))
|
|
||||||
(let* ((vertical (car tree))
|
|
||||||
(edges (cadr tree))
|
|
||||||
(length (float (if vertical
|
|
||||||
(- (nth 3 edges) (cadr edges))
|
|
||||||
(- (nth 2 edges) (car edges))))))
|
|
||||||
(cons vertical
|
|
||||||
(mapcar (lambda (subtree)
|
|
||||||
(cons (transpose-frame-get-arrangement frame subtree)
|
|
||||||
(/ (let ((edges (if (windowp subtree)
|
|
||||||
(window-edges subtree)
|
|
||||||
(cadr subtree))))
|
|
||||||
(if vertical
|
|
||||||
(- (nth 3 edges) (cadr edges))
|
|
||||||
(- (nth 2 edges) (car edges))))
|
|
||||||
length)))
|
|
||||||
(cddr tree)))))))
|
|
||||||
|
|
||||||
(defun transpose-frame-set-arrangement (config &optional window-or-frame &rest how)
|
|
||||||
(let ((window (if (windowp window-or-frame)
|
|
||||||
window-or-frame
|
|
||||||
(frame-selected-window window-or-frame))))
|
|
||||||
(unless (windowp window-or-frame)
|
|
||||||
(delete-other-windows window))
|
|
||||||
(if (bufferp (car config))
|
|
||||||
(let ((buffer (pop config)))
|
|
||||||
(set-window-buffer window buffer)
|
|
||||||
(set-window-start window (pop config))
|
|
||||||
(set-window-point window (pop config))
|
|
||||||
(set-window-hscroll window (pop config))
|
|
||||||
(set-window-margins window (caar config) (cdr (pop config)))
|
|
||||||
(apply 'set-window-fringes window (pop config))
|
|
||||||
(set-window-dedicated-p window (pop config))
|
|
||||||
(jit-lock-register window (pop config))
|
|
||||||
(let* ((orig-window (pop config))
|
|
||||||
(ol-func (lambda (ol)
|
|
||||||
(when (eq (overlay-get ol 'window) orig-window)
|
|
||||||
(overlay-put ol 'window window))))
|
|
||||||
(ol-lists (with-current-buffer buffer
|
|
||||||
(overlay-lists))))
|
|
||||||
(mapc ol-func (car ol-lists))
|
|
||||||
(mapc ol-func (cdr ol-lists)))
|
|
||||||
(if (car config) (select-window window)))
|
|
||||||
(let* ((horizontal (if (memq 'transpose how)
|
|
||||||
(pop config)
|
|
||||||
(not (pop config))))
|
|
||||||
(edges (window-edges window))
|
|
||||||
(length (if horizontal
|
|
||||||
(- (nth 2 edges) (car edges))
|
|
||||||
(- (nth 3 edges) (cadr edges)))))
|
|
||||||
(if (memq (if horizontal 'flop 'flip) how)
|
|
||||||
(setq config (reverse config)))
|
|
||||||
(while (cdr config)
|
|
||||||
(setq window (prog1
|
|
||||||
(split-window window (round (* length (cdar config)))
|
|
||||||
horizontal)
|
|
||||||
(apply 'transpose-frame-set-arrangement
|
|
||||||
(caar config) window how))
|
|
||||||
config (cdr config)))
|
|
||||||
(apply 'transpose-frame-set-arrangement
|
|
||||||
(caar config) window how)))))
|
|
||||||
|
|
||||||
;;; User commands
|
|
||||||
|
|
||||||
;;;###autoload
|
|
||||||
(defun transpose-frame (&optional frame)
|
|
||||||
"Transpose windows arrangement at FRAME.
|
|
||||||
Omitting FRAME means currently selected frame."
|
|
||||||
(interactive)
|
|
||||||
(transpose-frame-set-arrangement (transpose-frame-get-arrangement frame) frame
|
|
||||||
'transpose)
|
|
||||||
(when (called-interactively-p 'any) (recenter)))
|
|
||||||
|
|
||||||
;;;###autoload
|
|
||||||
(defun flip-frame (&optional frame)
|
|
||||||
"Flip windows arrangement vertically at FRAME.
|
|
||||||
Omitting FRAME means currently selected frame."
|
|
||||||
(interactive)
|
|
||||||
(transpose-frame-set-arrangement (transpose-frame-get-arrangement frame) frame
|
|
||||||
'flip))
|
|
||||||
|
|
||||||
;;;###autoload
|
|
||||||
(defun flop-frame (&optional frame)
|
|
||||||
"Flop windows arrangement horizontally at FRAME.
|
|
||||||
Omitting FRAME means currently selected frame."
|
|
||||||
(interactive)
|
|
||||||
(transpose-frame-set-arrangement (transpose-frame-get-arrangement frame) frame
|
|
||||||
'flop))
|
|
||||||
|
|
||||||
;;;###autoload
|
|
||||||
(defun rotate-frame (&optional frame)
|
|
||||||
"Rotate windows arrangement 180 degrees at FRAME.
|
|
||||||
Omitting FRAME means currently selected frame."
|
|
||||||
(interactive)
|
|
||||||
(transpose-frame-set-arrangement (transpose-frame-get-arrangement frame) frame
|
|
||||||
'flip 'flop))
|
|
||||||
|
|
||||||
;;;###autoload
|
|
||||||
(defun rotate-frame-clockwise (&optional frame)
|
|
||||||
"Rotate windows arrangement 90 degrees clockwise at FRAME.
|
|
||||||
Omitting FRAME means currently selected frame."
|
|
||||||
(interactive)
|
|
||||||
(transpose-frame-set-arrangement (transpose-frame-get-arrangement frame) frame
|
|
||||||
'transpose 'flop)
|
|
||||||
(when (called-interactively-p 'any) (recenter)))
|
|
||||||
|
|
||||||
;;;###autoload
|
|
||||||
(defun rotate-frame-anticlockwise (&optional frame)
|
|
||||||
"Rotate windows arrangement 90 degrees anti-clockwise at FRAME.
|
|
||||||
Omitting FRAME means currently selected frame."
|
|
||||||
(interactive)
|
|
||||||
(transpose-frame-set-arrangement (transpose-frame-get-arrangement frame) frame
|
|
||||||
'transpose 'flip)
|
|
||||||
(when (called-interactively-p 'any) (recenter)))
|
|
||||||
|
|
||||||
;;; _
|
|
||||||
;; Local Variables:
|
|
||||||
;; indent-tabs-mode: nil
|
|
||||||
;; End:
|
|
||||||
(provide 'transpose-frame)
|
|
||||||
;;; transpose-frame.el ends here
|
|
|
@ -1,59 +0,0 @@
|
||||||
;;; transpose-frame-autoloads.el --- automatically extracted autoloads -*- lexical-binding: t -*-
|
|
||||||
;;
|
|
||||||
;;; Code:
|
|
||||||
|
|
||||||
(add-to-list 'load-path (directory-file-name
|
|
||||||
(or (file-name-directory #$) (car load-path))))
|
|
||||||
|
|
||||||
|
|
||||||
;;;### (autoloads nil "transpose-frame" "transpose-frame.el" (0 0
|
|
||||||
;;;;;; 0 0))
|
|
||||||
;;; Generated autoloads from transpose-frame.el
|
|
||||||
|
|
||||||
(autoload 'transpose-frame "transpose-frame" "\
|
|
||||||
Transpose windows arrangement at FRAME.
|
|
||||||
Omitting FRAME means currently selected frame.
|
|
||||||
|
|
||||||
\(fn &optional FRAME)" t nil)
|
|
||||||
|
|
||||||
(autoload 'flip-frame "transpose-frame" "\
|
|
||||||
Flip windows arrangement vertically at FRAME.
|
|
||||||
Omitting FRAME means currently selected frame.
|
|
||||||
|
|
||||||
\(fn &optional FRAME)" t nil)
|
|
||||||
|
|
||||||
(autoload 'flop-frame "transpose-frame" "\
|
|
||||||
Flop windows arrangement horizontally at FRAME.
|
|
||||||
Omitting FRAME means currently selected frame.
|
|
||||||
|
|
||||||
\(fn &optional FRAME)" t nil)
|
|
||||||
|
|
||||||
(autoload 'rotate-frame "transpose-frame" "\
|
|
||||||
Rotate windows arrangement 180 degrees at FRAME.
|
|
||||||
Omitting FRAME means currently selected frame.
|
|
||||||
|
|
||||||
\(fn &optional FRAME)" t nil)
|
|
||||||
|
|
||||||
(autoload 'rotate-frame-clockwise "transpose-frame" "\
|
|
||||||
Rotate windows arrangement 90 degrees clockwise at FRAME.
|
|
||||||
Omitting FRAME means currently selected frame.
|
|
||||||
|
|
||||||
\(fn &optional FRAME)" t nil)
|
|
||||||
|
|
||||||
(autoload 'rotate-frame-anticlockwise "transpose-frame" "\
|
|
||||||
Rotate windows arrangement 90 degrees anti-clockwise at FRAME.
|
|
||||||
Omitting FRAME means currently selected frame.
|
|
||||||
|
|
||||||
\(fn &optional FRAME)" t nil)
|
|
||||||
|
|
||||||
(register-definition-prefixes "transpose-frame" '("transpose-frame-"))
|
|
||||||
|
|
||||||
;;;***
|
|
||||||
|
|
||||||
;; Local Variables:
|
|
||||||
;; version-control: never
|
|
||||||
;; no-byte-compile: t
|
|
||||||
;; no-update-autoloads: t
|
|
||||||
;; coding: utf-8
|
|
||||||
;; End:
|
|
||||||
;;; transpose-frame-autoloads.el ends here
|
|
|
@ -1,2 +0,0 @@
|
||||||
;;; Generated package description from transpose-frame.el -*- no-byte-compile: t -*-
|
|
||||||
(define-package "transpose-frame" "20221109.2053" "Transpose windows arrangement in a frame" 'nil :commit "94c87794d53883a2358d13da264ad8dab9a52daa" :authors '(("S. Irie")) :maintainer '("S. Irie") :keywords '("window"))
|
|
|
@ -1,235 +0,0 @@
|
||||||
;;; transpose-frame.el --- Transpose windows arrangement in a frame
|
|
||||||
|
|
||||||
;; Copyright (c) 2011 S. Irie
|
|
||||||
|
|
||||||
;; Author: S. Irie
|
|
||||||
;; Keywords: window
|
|
||||||
;; Package-Version: 20221109.2053
|
|
||||||
;; Package-Commit: 94c87794d53883a2358d13da264ad8dab9a52daa
|
|
||||||
|
|
||||||
;; This program is free software.
|
|
||||||
|
|
||||||
;; Redistribution and use in source and binary forms, with or without
|
|
||||||
;; modification, are permitted provided that the following conditions
|
|
||||||
;; are met:
|
|
||||||
|
|
||||||
;; 1. Redistributions of source code must retain the above copyright
|
|
||||||
;; notice, this list of conditions and the following disclaimer.
|
|
||||||
;; 2. Redistributions in binary form must reproduce the above copyright
|
|
||||||
;; notice, this list of conditions and the following disclaimer in the
|
|
||||||
;; documentation and/or other materials provided with the distribution.
|
|
||||||
|
|
||||||
;; THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
|
||||||
;; "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
|
||||||
;; LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
|
||||||
;; A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
|
||||||
;; OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
|
||||||
;; SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
|
|
||||||
;; TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
|
|
||||||
;; PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
|
|
||||||
;; LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
|
||||||
;; NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
|
||||||
;; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
|
|
||||||
;;; Commentary:
|
|
||||||
|
|
||||||
;; This program provides some interactive functions which allows users
|
|
||||||
;; to transpose windows arrangement in currently selected frame:
|
|
||||||
;;
|
|
||||||
;; `transpose-frame' ... Swap x-direction and y-direction
|
|
||||||
;;
|
|
||||||
;; +------------+------------+ +----------------+--------+
|
|
||||||
;; | | B | | A | |
|
|
||||||
;; | A +------------+ | | |
|
|
||||||
;; | | C | => +--------+-------+ D |
|
|
||||||
;; +------------+------------+ | B | C | |
|
|
||||||
;; | D | | | | |
|
|
||||||
;; +-------------------------+ +--------+-------+--------+
|
|
||||||
;;
|
|
||||||
;; `flip-frame' ... Flip vertically
|
|
||||||
;;
|
|
||||||
;; +------------+------------+ +------------+------------+
|
|
||||||
;; | | B | | D |
|
|
||||||
;; | A +------------+ +------------+------------+
|
|
||||||
;; | | C | => | | C |
|
|
||||||
;; +------------+------------+ | A +------------+
|
|
||||||
;; | D | | | B |
|
|
||||||
;; +-------------------------+ +------------+------------+
|
|
||||||
;;
|
|
||||||
;; `flop-frame' ... Flop horizontally
|
|
||||||
;;
|
|
||||||
;; +------------+------------+ +------------+------------+
|
|
||||||
;; | | B | | B | |
|
|
||||||
;; | A +------------+ +------------+ A |
|
|
||||||
;; | | C | => | C | |
|
|
||||||
;; +------------+------------+ +------------+------------+
|
|
||||||
;; | D | | D |
|
|
||||||
;; +-------------------------+ +-------------------------+
|
|
||||||
;;
|
|
||||||
;; `rotate-frame' ... Rotate 180 degrees
|
|
||||||
;;
|
|
||||||
;; +------------+------------+ +-------------------------+
|
|
||||||
;; | | B | | D |
|
|
||||||
;; | A +------------+ +------------+------------+
|
|
||||||
;; | | C | => | C | |
|
|
||||||
;; +------------+------------+ +------------+ A |
|
|
||||||
;; | D | | B | |
|
|
||||||
;; +-------------------------+ +------------+------------+
|
|
||||||
;;
|
|
||||||
;; `rotate-frame-clockwise' ... Rotate 90 degrees clockwise
|
|
||||||
;;
|
|
||||||
;; +------------+------------+ +-------+-----------------+
|
|
||||||
;; | | B | | | A |
|
|
||||||
;; | A +------------+ | | |
|
|
||||||
;; | | C | => | D +--------+--------+
|
|
||||||
;; +------------+------------+ | | B | C |
|
|
||||||
;; | D | | | | |
|
|
||||||
;; +-------------------------+ +-------+--------+--------+
|
|
||||||
;;
|
|
||||||
;; `rotate-frame-anticlockwise' ... Rotate 90 degrees anti-clockwise
|
|
||||||
;;
|
|
||||||
;; +------------+------------+ +--------+--------+-------+
|
|
||||||
;; | | B | | B | C | |
|
|
||||||
;; | A +------------+ | | | |
|
|
||||||
;; | | C | => +--------+--------+ D |
|
|
||||||
;; +------------+------------+ | A | |
|
|
||||||
;; | D | | | |
|
|
||||||
;; +-------------------------+ +-----------------+-------+
|
|
||||||
;;
|
|
||||||
;; This program is tested on GNU Emacs 22, 23.
|
|
||||||
|
|
||||||
;;; Code:
|
|
||||||
;;; Internal functions
|
|
||||||
|
|
||||||
(defun transpose-frame-get-arrangement (&optional frame subtree)
|
|
||||||
(let ((tree (or subtree
|
|
||||||
(car (window-tree frame)))))
|
|
||||||
(if (windowp tree)
|
|
||||||
(list (window-buffer tree)
|
|
||||||
(window-start tree)
|
|
||||||
(window-point tree)
|
|
||||||
(window-hscroll tree)
|
|
||||||
(window-margins tree)
|
|
||||||
(window-fringes tree)
|
|
||||||
(window-dedicated-p tree)
|
|
||||||
tree
|
|
||||||
(eq tree (frame-selected-window frame)))
|
|
||||||
(let* ((vertical (car tree))
|
|
||||||
(edges (cadr tree))
|
|
||||||
(length (float (if vertical
|
|
||||||
(- (nth 3 edges) (cadr edges))
|
|
||||||
(- (nth 2 edges) (car edges))))))
|
|
||||||
(cons vertical
|
|
||||||
(mapcar (lambda (subtree)
|
|
||||||
(cons (transpose-frame-get-arrangement frame subtree)
|
|
||||||
(/ (let ((edges (if (windowp subtree)
|
|
||||||
(window-edges subtree)
|
|
||||||
(cadr subtree))))
|
|
||||||
(if vertical
|
|
||||||
(- (nth 3 edges) (cadr edges))
|
|
||||||
(- (nth 2 edges) (car edges))))
|
|
||||||
length)))
|
|
||||||
(cddr tree)))))))
|
|
||||||
|
|
||||||
(defun transpose-frame-set-arrangement (config &optional window-or-frame &rest how)
|
|
||||||
(let ((window (if (windowp window-or-frame)
|
|
||||||
window-or-frame
|
|
||||||
(frame-selected-window window-or-frame))))
|
|
||||||
(unless (windowp window-or-frame)
|
|
||||||
(delete-other-windows window))
|
|
||||||
(if (bufferp (car config))
|
|
||||||
(let ((buffer (pop config)))
|
|
||||||
(set-window-buffer window buffer)
|
|
||||||
(set-window-start window (pop config))
|
|
||||||
(set-window-point window (pop config))
|
|
||||||
(set-window-hscroll window (pop config))
|
|
||||||
(set-window-margins window (caar config) (cdr (pop config)))
|
|
||||||
(apply 'set-window-fringes window (pop config))
|
|
||||||
(set-window-dedicated-p window (pop config))
|
|
||||||
(let* ((orig-window (pop config))
|
|
||||||
(ol-func (lambda (ol)
|
|
||||||
(when (eq (overlay-get ol 'window) orig-window)
|
|
||||||
(overlay-put ol 'window window))))
|
|
||||||
(ol-lists (with-current-buffer buffer
|
|
||||||
(overlay-lists))))
|
|
||||||
(mapc ol-func (car ol-lists))
|
|
||||||
(mapc ol-func (cdr ol-lists)))
|
|
||||||
(if (car config) (select-window window)))
|
|
||||||
(let* ((horizontal (if (memq 'transpose how)
|
|
||||||
(pop config)
|
|
||||||
(not (pop config))))
|
|
||||||
(edges (window-edges window))
|
|
||||||
(length (if horizontal
|
|
||||||
(- (nth 2 edges) (car edges))
|
|
||||||
(- (nth 3 edges) (cadr edges)))))
|
|
||||||
(if (memq (if horizontal 'flop 'flip) how)
|
|
||||||
(setq config (reverse config)))
|
|
||||||
(while (cdr config)
|
|
||||||
(setq window (prog1
|
|
||||||
(split-window window (round (* length (cdar config)))
|
|
||||||
horizontal)
|
|
||||||
(apply 'transpose-frame-set-arrangement
|
|
||||||
(caar config) window how))
|
|
||||||
config (cdr config)))
|
|
||||||
(apply 'transpose-frame-set-arrangement
|
|
||||||
(caar config) window how)))))
|
|
||||||
|
|
||||||
;;; User commands
|
|
||||||
|
|
||||||
;;;###autoload
|
|
||||||
(defun transpose-frame (&optional frame)
|
|
||||||
"Transpose windows arrangement at FRAME.
|
|
||||||
Omitting FRAME means currently selected frame."
|
|
||||||
(interactive)
|
|
||||||
(transpose-frame-set-arrangement (transpose-frame-get-arrangement frame) frame
|
|
||||||
'transpose)
|
|
||||||
(when (called-interactively-p 'any) (recenter)))
|
|
||||||
|
|
||||||
;;;###autoload
|
|
||||||
(defun flip-frame (&optional frame)
|
|
||||||
"Flip windows arrangement vertically at FRAME.
|
|
||||||
Omitting FRAME means currently selected frame."
|
|
||||||
(interactive)
|
|
||||||
(transpose-frame-set-arrangement (transpose-frame-get-arrangement frame) frame
|
|
||||||
'flip))
|
|
||||||
|
|
||||||
;;;###autoload
|
|
||||||
(defun flop-frame (&optional frame)
|
|
||||||
"Flop windows arrangement horizontally at FRAME.
|
|
||||||
Omitting FRAME means currently selected frame."
|
|
||||||
(interactive)
|
|
||||||
(transpose-frame-set-arrangement (transpose-frame-get-arrangement frame) frame
|
|
||||||
'flop))
|
|
||||||
|
|
||||||
;;;###autoload
|
|
||||||
(defun rotate-frame (&optional frame)
|
|
||||||
"Rotate windows arrangement 180 degrees at FRAME.
|
|
||||||
Omitting FRAME means currently selected frame."
|
|
||||||
(interactive)
|
|
||||||
(transpose-frame-set-arrangement (transpose-frame-get-arrangement frame) frame
|
|
||||||
'flip 'flop))
|
|
||||||
|
|
||||||
;;;###autoload
|
|
||||||
(defun rotate-frame-clockwise (&optional frame)
|
|
||||||
"Rotate windows arrangement 90 degrees clockwise at FRAME.
|
|
||||||
Omitting FRAME means currently selected frame."
|
|
||||||
(interactive)
|
|
||||||
(transpose-frame-set-arrangement (transpose-frame-get-arrangement frame) frame
|
|
||||||
'transpose 'flop)
|
|
||||||
(when (called-interactively-p 'any) (recenter)))
|
|
||||||
|
|
||||||
;;;###autoload
|
|
||||||
(defun rotate-frame-anticlockwise (&optional frame)
|
|
||||||
"Rotate windows arrangement 90 degrees anti-clockwise at FRAME.
|
|
||||||
Omitting FRAME means currently selected frame."
|
|
||||||
(interactive)
|
|
||||||
(transpose-frame-set-arrangement (transpose-frame-get-arrangement frame) frame
|
|
||||||
'transpose 'flip)
|
|
||||||
(when (called-interactively-p 'any) (recenter)))
|
|
||||||
|
|
||||||
;;; _
|
|
||||||
;; Local Variables:
|
|
||||||
;; indent-tabs-mode: nil
|
|
||||||
;; End:
|
|
||||||
(provide 'transpose-frame)
|
|
||||||
;;; transpose-frame.el ends here
|
|
12
org/init.el
12
org/init.el
|
@ -177,23 +177,11 @@
|
||||||
|
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
; ui tuning
|
; ui tuning
|
||||||
(diminish 'projectile-mode)
|
|
||||||
(when (eq system-type 'windows-nt)
|
(when (eq system-type 'windows-nt)
|
||||||
(load "~/.emacs.d.profiles/org/config-org-desktop.el"))
|
(load "~/.emacs.d.profiles/org/config-org-desktop.el"))
|
||||||
(when kmn/is-termux
|
(when kmn/is-termux
|
||||||
(load "~/.emacs.d.profiles/org/config-org-mobile.el"))
|
(load "~/.emacs.d.profiles/org/config-org-mobile.el"))
|
||||||
|
|
||||||
(with-eval-after-load "persp-mode-autoload"
|
|
||||||
(with-eval-after-load "org"
|
|
||||||
(persp-def-auto-persp "kmn"
|
|
||||||
:mode-name ".*org-mode.*"
|
|
||||||
:noauto
|
|
||||||
:dyn-env '(after-switch-to-buffer-functions ;; prevent recursion
|
|
||||||
(persp-add-buffer-on-find-file nil)
|
|
||||||
persp-add-buffer-on-after-change-major-mode)
|
|
||||||
:hooks '(after-switch-to-buffer-functions)
|
|
||||||
:switch 'window)))
|
|
||||||
|
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
; origami + super agenda config
|
; origami + super agenda config
|
||||||
(defvar ap/org-super-agenda-auto-hide-groups
|
(defvar ap/org-super-agenda-auto-hide-groups
|
||||||
|
|
Reference in a new issue