- Questo topic ha 7 risposte, 3 partecipanti ed è stato aggiornato l'ultima volta 11 anni, 2 mesi fa da
robitex.
-
CreatoreTopic
-
12 Giugno 2015 alle 8:30 #102064::
Se vi può interessare…
Come inserire automaticamente un timestamp nel sorgente.
Enjoy.
R.
-
CreatoreTopic
-
AutoreRisposte
-
-
12 Giugno 2015 alle 16:36 #102065
-
13 Giugno 2015 alle 6:00 #102066::
Elrond” post=101857Curiosità: è possibile fare in modo che il timestamp venga aggiunto in automatico ogni volta che si salva il documento?
Ciao Elrond.
Conviene fare una voce di menù apposta tramite l’oggetto app.fileSave().
In questo modo posso salvare nel modo semplice o in modo che alla linea per esempio 4 viene preventivamente inserito il timestamp.
Il numero di riga fisso comporta il fatto che ogni volta che salvi con lo script si allunghi una lista di timestamp dal più recente al meno recente.Ho provato questo codice e funziona. L’unica cosa è che il timestamp viene inserito anche se il file non dovrebbe venir salvato perché non sono intervenute modifiche:
`
%SCRIPTvar dt = new Date()
var y = dt.getFullYear()
var m = dt.getMonth() + 1
if (m < 10) { m = "0" + m} var d = dt.getDate() var s1 = "% " + d + "/" + m + "/" + y var hour = dt.getHours() var min = dt.getMinutes() if (min<10) {min = "0"+min} var sec = dt.getSeconds() if (sec<10) {sec = "0" + sec} var s2 = " :: " + hour + ":" + min + ":" + sec var line = cursor.lineNumber() var col = cursor.columnNumber() cursor.moveTo(4,1) cursor.insertLine() cursor.insertText(s1 + s2) cursor.moveTo(line+1, col) app.fileSave() ` Ho letto il manuale con attenzione e non mi sembra che ci sia la possibilità di leggere lo stato del documento. R. -
13 Giugno 2015 alle 8:21 #102067::
robitex” post=101862
Curiosità: è possibile fare in modo che il timestamp venga aggiunto in automatico ogni volta che si salva il documento?
Ciao Elrond.
Conviene fare una voce di menù apposta tramite l’oggetto app.fileSave().
In questo modo posso salvare nel modo semplice o in modo che alla linea per esempio 4 viene preventivamente inserito il timestamp.
Il numero di riga fisso comporta il fatto che ogni volta che salvi con lo script si allunghi una lista di timestamp dal più recente al meno recente.Ho provato questo codice e funziona. L’unica cosa è che il timestamp viene inserito anche se il file non dovrebbe venir salvato perché non sono intervenute modifiche:
`
%SCRIPTvar dt = new Date()
var y = dt.getFullYear()
var m = dt.getMonth() + 1
if (m < 10) { m = "0" + m} var d = dt.getDate() var s1 = "% " + d + "/" + m + "/" + y var hour = dt.getHours() var min = dt.getMinutes() if (min<10) {min = "0"+min} var sec = dt.getSeconds() if (sec<10) {sec = "0" + sec} var s2 = " :: " + hour + ":" + min + ":" + sec var line = cursor.lineNumber() var col = cursor.columnNumber() cursor.moveTo(4,1) cursor.insertLine() cursor.insertText(s1 + s2) cursor.moveTo(line+1, col) app.fileSave() ` Ho letto il manuale con attenzione e non mi sembra che ci sia la possibilità di leggere lo stato del documento. R.[/quote] Peccato, un certo editor di mia conoscenza lo fa ed è comodo per esempio quando bisogna inserire la data in comandi come [tt]\ProvidesPackage[/tt] e [tt]\ProvidesFile[/tt]: in questo modo non ci si deve mai preoccupare di aggiornare la data, viene fatto sempre in automatico a ogni salvataggio. Vedi per esempio https://github.com/GuITeX/guidaemacsauctex/blob/master/guidaemacsauctex.tex, basta configurare la variabile [tt]time-stamp-pattern[/tt] in fondo al file. Se in un file ci sono sia [tt]\ProvidesPackage[/tt] sia [tt]\ProvidesFile[/tt] Emacs può aggiornare automaticamente entrambi, però bisogna dirgli di aggiornare due timestamp (in maniera predefinita ne fa solo uno) cambiando anche la variabile [tt]time-stamp-count[/tt]
-
15 Giugno 2015 alle 4:35 #102068::
Elrond” post=101867
Curiosità: è possibile fare in modo che il timestamp venga aggiunto in automatico ogni volta che si salva il documento?
Ciao Elrond.
Conviene fare una voce di menù apposta tramite l’oggetto app.fileSave().
In questo modo posso salvare nel modo semplice o in modo che alla linea per esempio 4 viene preventivamente inserito il timestamp.
Il numero di riga fisso comporta il fatto che ogni volta che salvi con lo script si allunghi una lista di timestamp dal più recente al meno recente.Ho provato questo codice e funziona. L’unica cosa è che il timestamp viene inserito anche se il file non dovrebbe venir salvato perché non sono intervenute modifiche:
`
%SCRIPTvar dt = new Date()
var y = dt.getFullYear()
var m = dt.getMonth() + 1
if (m < 10) { m = "0" + m} var d = dt.getDate() var s1 = "% " + d + "/" + m + "/" + y var hour = dt.getHours() var min = dt.getMinutes() if (min<10) {min = "0"+min} var sec = dt.getSeconds() if (sec<10) {sec = "0" + sec} var s2 = " :: " + hour + ":" + min + ":" + sec var line = cursor.lineNumber() var col = cursor.columnNumber() cursor.moveTo(4,1) cursor.insertLine() cursor.insertText(s1 + s2) cursor.moveTo(line+1, col) app.fileSave() ` Ho letto il manuale con attenzione e non mi sembra che ci sia la possibilità di leggere lo stato del documento. R.[/quote] Peccato, un certo editor di mia conoscenza lo fa ed è comodo per esempio quando bisogna inserire la data in comandi come [tt]\ProvidesPackage[/tt] e [tt]\ProvidesFile[/tt]: in questo modo non ci si deve mai preoccupare di aggiornare la data, viene fatto sempre in automatico a ogni salvataggio. Vedi per esempio https://github.com/GuITeX/guidaemacsauctex/blob/master/guidaemacsauctex.tex, basta configurare la variabile [tt]time-stamp-pattern[/tt] in fondo al file. Se in un file ci sono sia [tt]\ProvidesPackage[/tt] sia [tt]\ProvidesFile[/tt] Emacs può aggiornare automaticamente entrambi, però bisogna dirgli di aggiornare due timestamp (in maniera predefinita ne fa solo uno) cambiando anche la variabile [tt]time-stamp-count[/tt][/quote]
😀 e io che non avevo capito l’ironia…
-
15 Giugno 2015 alle 11:15 #102069
-
16 Giugno 2015 alle 5:43 #102070::
bella ed inserita
solo un piccolo problema
se la riga 4 è occupata
succede questo
`
\documentclass[10pt,a4paper]{book}
\usepackage[utf8]{inputenc}
\usepackage{amsmath}
\usepackage{amsfonts}
\
% 16/06/2015 :: 9:41:06usepackage{amssymb}
\usepackage{graphicx}
\begin{document}
prova
\end{document}
`
ciao
claudio
-
16 Giugno 2015 alle 5:48 #102071::
Ah ah ah.
Nei miei file la riga 4 è quasi sempre libera perché uso le righe magiche.
Possiamo modificare lo script per inserire il timestamp alla riga successiva di quella che contiene una chiave prestabilita.
Le funzioni per ricercare il testo abbondano.
Per esempio:
`
\documentclass[10pt,a4paper]{book}
\usepackage[utf8]{inputenc}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{graphicx}% timestamp list
% 16/06/2015 :: 9:41:06\begin{document}
prova
\end{document}
`
R.
-
-
AutoreRisposte
- Devi essere connesso per rispondere a questo topic.