Sublime Text を使用してログ ファイルを作成する方法

どのくらいの人が知っていて、さらにどのくらいの人が使っているか分からないけど、How to Use Notepad to Create a Log File というのがある。 これを Sublime Text でやるプラグインを作った。

notepad_journal.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
import sublime, sublime_plugin
import datetime

class NotepadJournal(sublime_plugin.EventListener):
def on_load(self, view):
if self.extract_name(view.settings().get('syntax')).lower() != "plain text":
return

if view.substr(view.line(0)).upper() == ".LOG":
view.run_command("notepad_add_journal")

def extract_name(self, syntax):
begin = syntax.rfind("/") + 1
end = syntax.rfind(".")
return syntax[begin:end]

class NotepadAddJournalCommand(sublime_plugin.TextCommand):
def run(self, edit):
self.view.run_command("move_to", {"to": "eof"})
point = self.view.sel()[0].begin()

header = datetime.datetime.now().strftime("\n%H:%M %Y/%m/%d\n")
self.view.insert(edit, point, header)

ファイルを開いた時に、そのファイルの末尾のところまでスクロールされちゃうけど、それくらいならガマンする。