O abaixo funcionaria. Por uma questão de clareza, estou usando o :ensure org-plus-contribque se desvia um pouco do exemplo em sua pergunta.
(use-package org
:mode (("\\.org$" . org-mode))
:ensure org-plus-contrib
:config
(progn
;; config stuff
))
Aqui estão algumas notas explicativas para o acima:
(use-package FEATURE-NAME
FEATURE-NAMEé o que se passa na (provide ..)linha de um pacote. Pois org-mode, essa linha é (provide 'org).
:mode ((FILE-REGEXP . MAJOR-MODE))
FILE-REGEXPé a expressão regular para a qual você deseja que um modo principal específico seja ativado. Você tinha que correta: "\\.org$".
MAJOR-MODEé o nome do modo principal que você deseja ativar (incluindo a -modeparte do nome do modo principal). Nesse caso, o nome do modo principal é org-mode.
- O estilo
:mode (FILE-REGEXP)que você usou funcionaria apenas se FEATURE-NAMEe MAJOR-MODEfor exatamente o mesmo. Exemplo: cperl-mode.
:ensure PACKAGE-NAME
PACKAGE-NAMEé o que vejo listado na lista de pacotes ( M-x package-list-packages). Para maior clareza, na minha solução acima, estamos instalando o pacote org-plus-contrib1 . Isso serve para demonstrar o nome do recurso, o modo principal e o nome do pacote real não precisa ser exatamente o mesmo. E também prefiro instalar isso em vez de simples, org-modepois você também recebe todos os contrib/presentes! :)
1 Você precisará adicionar (add-to-list 'package-archives '("org" . "http://orgmode.org/elpa/") t)à sua configuração do emacs para instalar org-plus-contrib. Consulte a página de instalação oficial do modo organizacional para obter mais informações.
Nota
A melhor maneira de fazer o use-packagesnippet acima funcionar é salvá-lo primeiro na sua configuração do emacs, depois excluir as versões anteriores instaladas pelo Package Manager orge reiniciar o emacs.
org.ele você verá no final:(provide 'org). Esse símbolo (org) é o que você usa para carregar o pacote, como em:(require 'org). Isso é o queuse-packageestá fazendo, apenas com algumas coisas úteis a seu redor. Um determinado pacote pode definir vários modos para que os nomes dos pacotes e dos modos nem sempre sejam os mesmos. Este é realmente o mesmo problema que a outra pergunta sobrehtml-modeser definido pelosgml-modepacote.