| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
| |
* emacs/guix-list.el: Use separate edit commands instead of a single one.
(guix-list-for-each-line, guix-list-edit-package): Remove.
(guix-package-list-edit, guix-output-list-edit): New procedures.
(guix-package-list-mode-map, guix-output-list-mode-map): Use them.
|
|
|
|
|
|
|
|
| |
* emacs/guix-list.el: Generate 'guix-ENTRY-TYPE-list-format' variables
for 'package', 'output' and 'generation' entry types.
(guix-list-format): Remove.
(guix-list-define-entry-type): Add ':format' keyword.
* doc/emacs.texi (Emacs Appearance): Adjust accordingly.
|
|
|
|
|
| |
* emacs/guix-list.el (guix-list-mode-initialize): New procedure.
(guix-list-define-entry-type): Use it.
|
|
|
|
|
|
|
| |
* emacs/guix-list.el (guix-list-sort-key): New procedure.
(guix-list-tabulated-sort-key): Use it.
(guix-list-define-entry-type): Generate
'guix-ENTRY-TYPE-list-sort-key' variables.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* emacs/guix-list.el (guix-list-describe-warning-count): Remove variable.
(guix-list-define-entry-type): Generate
'guix-ENTRY-TYPE-list-describe-warning-count' and
'guix-ENTRY-TYPE-list-describe-function' variables.
(guix-list-describe-maybe): Remove. Move the code...
(guix-list-describe): ... here.
(guix-list-describe-warning-count, guix-list-describe-entries)
(guix-list-describe-ids): New procedures.
(guix-output-list-describe): Adjust accordingly.
(guix-list-mode-map): Bind "i" key to 'guix-list-describe'.
(guix-generation-list-mode-map): Remove "i" key.
|
|
|
|
|
|
|
|
|
| |
* emacs/guix-list.el (guix-list-mark-alist): Rename to...
(guix-list-marks): ... this
(guix-list-data, guix-list-default-marks): New variables.
(guix-list-value, guix-list-additional-marks, guix-list-marks): New
procedures.
(guix-list-define-entry-type): Adjust accordingly.
|
|
|
|
|
|
|
|
| |
* emacs/guix-utils.el (guix-keyword-args-let): New macro.
(guix-utils-font-lock-keywords): Add it.
* emacs/guix-base.el (guix-define-buffer-type): Use it.
* emacs/guix-list.el (guix-list-define-entry-type): Use it.
* emacs/guix-read.el (guix-define-readers): Use it.
|
|
|
|
|
|
|
|
|
|
| |
* emacs/guix-list.el: (guix-list-column-format): Merge this and...
(guix-list-column-value-methods): ... this into...
(guix-list-format): ... this. New variable.
(guix-list-tabulated-vector): Adjust accordingly.
(guix-list-tabulated-format): Likewise.
(guix-list-tabulated-entry): Likewise.
* doc/emacs.texi (Emacs Appearance): Likewise.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* emacs/guix-list.el (guix-list-get-param-title): Rename to...
(guix-list-param-title): ... this.
(guix-list-get-column-format): Rename to...
(guix-list-format): ... this.
(guix-list-get-displayed-params): Rename to...
(guix-list-displayed-params): ... this.
(guix-list-get-sort-key): Rename to...
(guix-list-tabulated-sort-key): ... this.
(guix-list-make-tabulated-vector): Rename to...
(guix-list-tabulated-vector): ... this.
(guix-list-get-list-format): Rename to...
(guix-list-tabulated-format): ... this.
(guix-list-get-tabulated-entries): Rename to...
(guix-list-tabulated-entries): ... this.
(guix-list-get-tabulated-entry): Rename to...
(guix-list-tabulated-entry): ... this.
* emacs/guix-info.el (guix-info-get-displayed-params): Rename to...
(guix-info-displayed-params): ... this.
* emacs/guix-base.el (guix-get-params-for-receiving): Adjust
accordingly.
(guix-get-name-spec): Rename to...
(guix-package-name-specification): ... this.
(guix-get-full-name): Merge this and...
(guix-entry-to-specification): ... this into...
(guix-package-entry->name-specification): ... this.
(guix-get-installed-outputs): Rename to...
(guix-package-installed-outputs): ... this.
(guix-get-package-id-and-output-by-output-id): Rename to...
(guix-package-id-and-output-by-output-id): ... this.
|
|
|
|
|
|
|
|
|
| |
* emacs/guix-list.el: Generate predicates to sort tabulated list
columns numerically.
(guix-list-define-numerical-sorter)
(guix-list-define-numerical-sorters): New macros
(guix-list-column-format): Use 'guix-list-sort-numerically-0' for
generation "Number" column.
|
|
|
|
|
|
|
|
|
|
|
| |
* emacs/guix-info.el: Use new entry procedures.
* emacs/guix-list.el: Likewise.
* emacs/guix-base.el: Likewise.
(guix-get-entry-by-id): Move and rename to ...
* emacs/guix-entry.el (guix-entry-by-id): ...this. New file.
(guix-entry-value, guix-entry-id, guix-entries-by-ids)
(guix-replace-entry): New procedures.
* emacs.am (ELFILES): Add new file.
|
|
|
|
|
| |
* emacs/guix-list.el (guix-list-time): New face.
(guix-list-get-time): Use it.
|
|
|
|
|
|
|
|
|
|
| |
* emacs/guix.el (guix-faces): New custom group.
* emacs/guix-base.el (guix-operation-option-key): Use it.
(guix-define-buffer-type): Generate faces group.
* emacs/guix-info.el: Adjust faces to use new groups.
(guix-info-faces): New custom group.
* emacs/guix-list.el: Likewise
(guix-list-faces): New custom group.
|
|
|
|
|
|
|
|
|
|
|
|
| |
* emacs/guix-base.el (guix-package-location): New function.
(guix-edit-package): Rename and move to ...
* emacs/guix.el (guix-edit): ...here. Make it interactive.
* emacs/guix-command.el (guix-edit-action): New function (alias to
'guix-edit') to override the popup for edit command in "M-x guix".
* emacs/guix-list.el (guix-list-edit-package): Adjust for 'guix-edit'
renaming.
* emacs/guix-main.scm (package-location-string): Allow to accept package
id or package name as argument.
|
|
|
|
|
|
|
|
|
|
|
| |
* emacs/guix-utils.el (guix-define-alist-accessor): New macro.
(guix-assq-value, guix-assoc-value): New functions.
(guix-get-key-val): Remove.
* emacs/guix-base.el: Replace 'guix-get-key-val' with 'guix-assq-value'
everywhere.
* emacs/guix-info.el: Likewise.
* emacs/guix-list.el: Likewise.
* emacs/guix-messages.el: Likewise.
|
|
|
|
|
|
|
|
|
| |
* emacs/guix-base.el (guix-define-buffer-type): Move common key bindings
from here...
(guix-root-map): ... to here. New variable.
* emacs/guix-info.el (guix-info-mode-map): Use it.
* emacs/guix-list.el (guix-list-mode-map): Use it.
* doc/emacs.texi (Emacs Keymaps): Document it.
|
|
|
|
|
|
|
|
|
| |
* emacs/guix-base.el (guix-edit-package): New function.
* emacs/guix-list.el (guix-list-edit-package): New command. Bind it to
"e" key.
* emacs/guix-main.scm (package-location-string): New procedure.
* doc/emacs.texi (Emacs List buffer): Document "e" key binding.
* doc/guix.texi (Invoking guix edit): Mention "package list" buffer.
|
|
|
|
|
|
| |
* emacs/guix-list.el: Always retrieve 'package-id' parameter for a list
of outputs.
(guix-list-current-package-id): New function.
|
|
|
|
|
|
|
|
|
| |
* emacs/guix-list.el: Split 'guix-list-mark' into internal and
interactive functions. Remove "M" key binding, use "C-u m" instead.
(guix-list--mark): New function. Use it in other marking functions.
(guix-list-mark): Mark all lines with a prefix argument.
* doc/emacs.texi (Emacs List buffer): Document changes in the key
bindings.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Suggested by Ludovic Courtès.
* doc/emacs.texi (Emacs List buffer): Document new key bindings.
* emacs/guix-base.el (guix-generation-packages-buffer-name-function,
guix-generation-packages-update-buffer, guix-output-name-width): New
variables.
(guix-generation-file, guix-manifest-file, guix-generation-packages,
guix-generation-packages-buffer-name-default,
guix-generation-packages-buffer-name-long,
guix-generation-packages-buffer-name, guix-generation-packages-buffer,
guix-generation-insert-package, guix-generation-insert-packages,
guix-profile-generation-manifest-file,
guix-profile-generation-packages-buffer): New procedures.
* emacs/guix-list.el: Add key bindings for comparing generations.
(guix-generation-list-generations-to-compare,
guix-generation-list-show-added-packages,
guix-generation-list-show-removed-packages, guix-generation-list-compare,
guix-generation-list-ediff-manifests, guix-generation-list-diff-manifests,
guix-generation-list-ediff-packages, guix-generation-list-diff-packages,
guix-generation-list-ediff, guix-generation-list-diff): New procedures.
* emacs/guix-messages.el (guix-messages): Add 'generation-diff' search type.
(guix-message-outputs-by-diff): New procedure.
* emacs/guix-utils.el (guix-diff-switches): New variable.
(guix-diff): New procedure.
* emacs/guix-main.scm (package/output-sexps): Handle 'generation-diff' search
type.
(manifest-entry->package-specification,
manifest-entries->package-specifications, generation-package-specifications,
generation-package-specifications+paths, generation-difference): New
procedures.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Suggested by David Thompson, Ludovic Courtès and Mathieu Lirzin.
* emacs/guix-base.el (guix-profile-prompt): New procedure.
(guix-set-current-profile): Use it.
(guix-buffer-name-simple, guix-buffer-name-default, guix-buffer-name): New
procedures.
(guix-buffer-name-function, guix-profile): New variables.
(guix-set-vars, guix-get-entries, guix-get-show-entries, guix-set-buffer,
guix-history-call, guix-process-package-actions,
guix-continue-package-operation-p, guix-delete-generations,
guix-switch-to-generation): Add 'profile' argument.
* emacs/guix.el (guix-get-show-packages, guix-get-show-generations,
guix-search-by-name, guix-search-by-regexp, guix-installed-packages,
guix-obsolete-packages, guix-all-available-packages,
guix-newest-available-packages, guix-generations, guix-generations-by-time):
Likewise.
(guix-last-generations): New command.
* emacs/guix-info.el: Adjust for using 'profile' argument where needed.
* emacs/guix-list.el: Likewise.
* doc/emacs.texi (Emacs Commands): Document 'guix-last-generations' and using
"C-u" for commands.
(Emacs Buffer Names): Document 'guix-buffer-name-function'.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* emacs/guix-backend.el (guix-operation-buffer): New variable.
(guix-eval-in-repl): Use it. Add optional 'operation-buffer' argument.
* emacs/guix-base.el (guix-update-after-operation): New variable.
(guix-switch-to-buffer, guix-list-or-info-buffer-p, guix-buffers,
guix-update-buffers-maybe): New procedures.
(guix-set-buffer): Use 'guix-switch-to-buffer'. Add optional 'no-display'
argument.
(guix-process-package-actions, guix-delete-generations,
guix-switch-to-generation): Add optional 'operation-buffer' argument.
* emacs/guix-info.el (guix-package-info-insert-action-button,
guix-generation-info-insert-number, guix-generation-info-insert-current):
Adjust for using operation buffer.
* emacs/guix-list.el (guix-list-execute-package-actions,
guix-generation-list-switch, guix-generation-list-execute): Likewise.
|
|
|
|
|
|
|
|
|
| |
* emacs/guix-base.el (guix-switch-to-generation): New procedure.
* emacs/guix-info.el (guix-generation-info-insert-current): Insert button for
switching to generation.
* emacs/guix-list.el (guix-generation-list-switch): New procedure.
* doc/emacs.texi (emacs List buffer, emacs Info buffer): Document switching
generations.
|
|
|
|
|
|
|
|
|
|
| |
* emacs/guix-main.scm (generation-param-alist): Add 'current' parameter.
* emacs/guix-base.el (guix-param-titles): Add title for 'current' parameter.
* emacs/guix-info.el: Display 'current' parameter.
(guix-generation-info-current, guix-generation-info-not-current): New faces.
(guix-generation-info-insert-current): New procedure.
* emacs/guix-list.el: Display 'current' column.
(guix-generation-list-get-current): New procedure.
|
|
|
|
|
|
| |
* emacs/guix-list.el (guix-list-get-tabulated-entry): Call functions returning
column value even for nil values.
(guix-list-get-one-line): Adjust for accepting nil argument.
|
|
|
|
|
|
|
|
|
| |
* doc/emacs.texi (emacs List buffer): Mention new key bindings.
* emacs/guix-base.el (guix-delete-generations): New procedure.
* emacs/guix-info.el (guix-generation-info-insert-number): Use it.
* emacs/guix-list.el (guix-generation-list-mark-delete,
guix-generation-list-execute): New procedures.
* emacs/guix-main.scm (delete-generations*): New procedure.
|
|
|
|
|
|
|
|
|
|
| |
* emacs/guix-list.el (guix-package-list-type, guix-output-list-describe-type):
Move to...
* emacs/guix-base.el: ... here. Rename 'guix-output-list-describe-type' to
'guix-package-info-type'.
* emacs/guix-info.el (guix-generation-info-insert-number): Use
'guix-package-list-type'.
* emacs/guix.el (guix-get-show-packages): Use 'guix-package-info-type'.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Suggested by Taylan Ulrich Bayirli/Kammer and Ludovic Courtès.
* emacs/guix-base.el (guix-param-titles): Add output titles.
(guix-messages): Add output messages.
(guix-get-package-id-and-output-by-output-id): New procedure.
(guix-define-buffer-type): Add ':buffer-name' key.
* emacs/guix-info.el: Add "output-info" buffer type.
(guix-info-insert-methods): Add output methods.
(guix-info-displayed-params): Add output params.
(guix-output-info-insert-version, guix-output-info-insert-output): New
procedures.
* emacs/guix-list.el: Add "output-list" buffer type.
(guix-list-column-format): Add output formats.
(guix-list-column-value-methods): Add output methods.
(guix-package-list-type): New variable.
(guix-generation-list-show-packages): Use it.
(guix-package-list-marking-check): Use 'guix-output-list-mode'.
(guix-list-mark-package-upgrades): New procedure.
(guix-package-list-mark-upgrades): Use it.
(guix-list-execute-package-actions): New procedure.
(guix-package-list-execute): Use it.
(guix-list-describe-maybe): New procedure.
(guix-list-describe): Use it.
(guix-output-list-mark-install, guix-output-list-mark-delete,
guix-output-list-mark-upgrade, guix-output-list-mark-upgrades,
guix-output-list-execute, guix-output-list-make-action,
guix-output-list-describe): New procedures.
(guix-output-list-describe-type): New variable.
* emacs/guix.el (guix-get-show-packages): Use 'guix-package-list-type'.
* doc/emacs.texi (emacs Commands): Mention 'guix-package-list-type'.
(emacs List buffer): Adjust accordingly.
(emacs Info buffer): Likewise.
(emacs Buffer Names): New node.
(emacs Keymaps): Add keymaps for output buffers.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* emacs/guix-base.el: Add and use general functions instead of
specialized functions generated by 'guix-define-buffer-type' macro.
(guix-buffer-type, guix-entry-type): New variables.
(guix-set-vars): Add new variables.
(guix-get-show-entries, guix-show-entries, guix-set-buffer)
(guix-history-call, guix-make-history-item)
(guix-get-params-for-receiving, guix-revert-buffer)
(guix-redisplay-buffer): New functions.
(guix-define-buffer-type): Do not generate specialized functions.
* emacs/guix-info.el (guix-package-info-insert-full-names): Use
'guix-get-show-entries'.
(guix-generation-info-insert-number): Likewise.
* emacs/guix-list.el (guix-list-describe): New function.
(guix-list-define-entry-type): Do not generate specialized one.
(guix-generation-list-show-packages): Use 'guix-get-show-entries'.
* emacs/guix.el (guix-show-generations-function): Remove.
(guix-get-show-packages): Use new functions.
(guix-get-show-generations): Likewise.
|
|
|
|
|
|
|
|
|
|
|
| |
Use "U" to upgrade the current package, "^" to upgrade all.
* emacs/guix-list.el: (guix-list-unmark): With prefix, mark all.
(guix-package-list-mark-outputs): New procedure.
(guix-package-list-mark-install, guix-package-list-mark-delete)
(guix-package-list-mark-upgrade): Use it.
(guix-package-list-mark-upgrades): New command.
* doc/emacs.texi (emacs List buffer): Update the manual accordingly.
|
|
|
|
|
| |
* emacs/guix-list.el (guix-package-list-installed): New face.
(guix-package-list-get-name): Use it.
|
|
* configure.ac (emacsuidir): New variable.
(AC_CONFIG_FILES): Add 'emacs/guix-init.el', 'emacs/guix-helper.scm'.
* Makefile.am: Include 'emacs.am'.
* emacs.am: New file.
* doc/emacs.texi: New file.
* doc/guix.texi: Include 'emacs.texi'.
* emacs/guix-backend.el: New file.
* emacs/guix-base.el: New file.
* emacs/guix-helper.scm.in: New file.
* emacs/guix-history.el: New file.
* emacs/guix-info.el: New file.
* emacs/guix-init.el.in: New file.
* emacs/guix-list.el: New file.
* emacs/guix-main.scm: New file.
* emacs/guix-utils.el: New file.
* emacs/guix.el: New file.
|