Lo siguiente funcionaría. En aras de la claridad, estoy usando lo :ensure org-plus-contrib
que se desvía un poco del ejemplo en su pregunta.
(use-package org
:mode (("\\.org$" . org-mode))
:ensure org-plus-contrib
:config
(progn
;; config stuff
))
Aquí hay algunas notas explicativas para lo anterior:
(use-package FEATURE-NAME
FEATURE-NAME
es lo que va en la (provide ..)
línea de un paquete. Pues org-mode
esa línea es (provide 'org)
.
:mode ((FILE-REGEXP . MAJOR-MODE))
FILE-REGEXP
es la expresión regular para la que desea que se habilite un modo mayor en particular. Tenías que correcta: "\\.org$"
.
MAJOR-MODE
es el nombre del modo principal que desea habilitar (incluida la -mode
parte del nombre del modo principal). En este caso, el nombre del modo principal es org-mode
.
- El estilo
:mode (FILE-REGEXP)
que utilizó lo haría si sólo el trabajo FEATURE-NAME
y MAJOR-MODE
son exactamente la misma. Ejemplo: cperl-mode
.
:ensure PACKAGE-NAME
PACKAGE-NAME
es lo que veo en la lista de paquetes ( M-x package-list-packages
). Para mayor claridad, en mi solución anterior, estamos instalando el paquete org-plus-contrib
1 . Esto es para demostrar que el nombre de la función, el modo principal y el nombre real del paquete no tienen que ser exactamente iguales. ¡Y también prefiero instalarlo en lugar de simple, org-mode
ya que también obtienes todos los contrib/
beneficios del paquete! :)
1 Deberá agregar (add-to-list 'package-archives '("org" . "http://orgmode.org/elpa/") t)
a su configuración de emacs para instalar org-plus-contrib
. Consulte la página oficial de instalación del modo org para obtener más información.
Nota
La mejor manera de hacer use-package
que funcione el fragmento anterior es guardarlo primero en su configuración de emacs, luego eliminar las versiones anteriores de Package Manager instaladas org
y luego reiniciar emacs.
org.el
y verá hacia el final:(provide 'org)
. Ese símbolo (org
) es la que se uso para cargar el paquete, como en:(require 'org)
. En última instancia, esouse-package
es lo que está haciendo, solo con algunas cosas útiles a su alrededor. Un paquete dado puede definir muchos modos, por lo que los nombres de paquete y modo no son siempre los mismos. Este es realmente el mismo problema que la otra pregunta sobre lahtml-mode
definición delsgml-mode
paquete.