O abaixo funcionaria. Por uma questão de clareza, estou usando o :ensure org-plus-contrib
que 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 -mode
parte 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-NAME
e MAJOR-MODE
for 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-contrib
1 . 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-mode
pois 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-package
snippet acima funcionar é salvá-lo primeiro na sua configuração do emacs, depois excluir as versões anteriores instaladas pelo Package Manager org
e reiniciar o emacs.
org.el
e 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-package
está 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-mode
ser definido pelosgml-mode
pacote.