Lo siguiente funcionaría. En aras de la claridad, estoy usando lo :ensure org-plus-contribque 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-NAMEes lo que va en la (provide ..)línea de un paquete. Pues org-modeesa línea es (provide 'org).
:mode ((FILE-REGEXP . MAJOR-MODE))
FILE-REGEXPes la expresión regular para la que desea que se habilite un modo mayor en particular. Tenías que correcta: "\\.org$".
MAJOR-MODEes el nombre del modo principal que desea habilitar (incluida la -modeparte 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-NAMEy MAJOR-MODEson exactamente la misma. Ejemplo: cperl-mode.
:ensure PACKAGE-NAME
PACKAGE-NAMEes 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-contrib1 . 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-modeya 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-packageque funcione el fragmento anterior es guardarlo primero en su configuración de emacs, luego eliminar las versiones anteriores de Package Manager instaladas orgy luego reiniciar emacs.
org.ely 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-packagees 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-modedefinición delsgml-modepaquete.