Estoy tratando de obtener un script lisp para ejecutar algunos comandos para mí cuando abro un archivo de un tipo de archivo específico. Sé que estoy trabajando en el archivo de inicio correcto porque si elimino el tema, emacs no tendrá ningún tema cuando lo inicie.
Este es el script que estoy usando que no funciona (sin errores ni nada):
(defun my-project-hook (filename)
(when (string= (file-name-extension filename) "ts")
((typescript-mode)
(tss-setup-current-buffer))
)
)
(add-hook 'after-load-functions 'my-project-hook)
hooks
files
major-mode
SiXoS
fuente
fuente

whenllamada está malformado. Las dos llamadas a funciones no pueden estar entre paréntesis como lo son. Tenga en cuenta la diferencia entre su código y @ sds'sRespuestas:
En la terminología de Emacs, estos son dos pasos diferentes:
.tsextensión con el modo principaltypescript-mode.tss-setup-current-buffercuando se inicie el modo mecanografiado.Para elegir qué modo principal usar para ciertos nombres de archivo, agregue una entrada a la variable
auto-mode-alist. Pon la siguiente línea en tu archivo init:\.ts\'es una expresión regular que coincide con los nombres de archivo con la.tsextensión.Para ejecutar la función
tss-setup-current-buffercada vez que se inicia el modo de Letra de imprenta (supongo que desea ejecutarlo incluso para los archivos de modo Letra de imprenta que no tienen la.tsextensión), añadirlo a la modalidad de imprenta inicio de gancho .Dependiendo de cómo lo instaló
typescript.elytss.el, es posible que también deba declarar que las funcionestypescript-modeytss-setup-current-bufferque deben cargarse desde esos archivos. Esto evita tener que cargartypescript.elytss.eltan pronto como se inicie Emacs: se cargarán a pedido, cuando abra un.tsarchivo por primera vez o lo ejecutetypescript-modeexplícitamente.fuente
Lo que estás buscando es
find-file-hook:fuente
auto-mode-alistdebe usarse para determinar cuándo la puesta en marcha en modo texto mecanografiado, ytypescript-mode-hookse debe utilizar para ejecutartss-setup-current-buffer.(add-to-list 'auto-mode-alist '("\\.ts\\'" . typescript-mode))y(add-hook 'typescript-mode-hook 'tss-setup-current-buffer)sería la forma normal de hacerlo.