¿Mostrando bits de permiso de archivo en la línea de modelo?

¿Mostrando bits de permiso de archivo en la línea de modelo?

Me encontré cambiando entre Emacs y un shell varias veces hoy, solo para verificar los permisos del archivo antes de guardar el archivo que tengo abierto en Emacs.

No hace falta decir que esto no es óptimo y ofrece amplias oportunidades de mejora.

Me gustaría que el modelo muestre los bits de permiso, algo así como;

-:--- .netrc 0600 .... further modeline stuff ....

Lo más cerca que he visto de lograr este objetivo esen el blog de emacs-fu, pero me gustaría una solución más genérica que simplemente verificar si el archivo es de solo lectura.

¿Cómo lograría esto?

Respuesta1

Jugué un poco con él y conseguí que esto funcionara para mí:

;; New variable to contain buffer file permission format construct.
(defvar my-mode-line-buffer-permissions
  '(:eval (when (buffer-file-name) (format " %04o" (file-modes (buffer-file-name))))))
;; The variable must be marked as "risky" (see C-h v mode-line-format)
(put 'my-mode-line-buffer-permissions 'risky-local-variable t)
;; And finally add it right after the file name:
(setq-default
 mode-line-buffer-identification
 (append mode-line-buffer-identification (list 'my-mode-line-buffer-permissions)))

Mi línea de modo ahora dice:

-uu-:---F1  .emacs       0644   Top L1     (Emacs-Lisp)--------------

información relacionada