diff options
| -rw-r--r-- | Main.sublime-menu | 23 | ||||
| -rw-r--r-- | MyNotes.py | 50 | ||||
| -rw-r--r-- | MyNotes.sublime-commands | 3 | ||||
| -rw-r--r-- | MyNotes.sublime-settings | 3 |
4 files changed, 79 insertions, 0 deletions
diff --git a/Main.sublime-menu b/Main.sublime-menu new file mode 100644 index 0000000..0a03c90 --- /dev/null +++ b/Main.sublime-menu @@ -0,0 +1,23 @@ +[ + { "id": "preferences", + "children": [ + { "caption": "Package Settings", + "id": "package-settings", + "children": [ + { "caption": "MyNotes", + // "id": "package_dev", + "children": [ + { "caption": "Settings", + "command": "edit_settings", + "args": { + "base_file": "${packages}/MyNotes/MyNotes.sublime-settings", + "default": "{\n\t$0\n}\n" + } + } + ] + } + ] + } + ] + } +] diff --git a/MyNotes.py b/MyNotes.py new file mode 100644 index 0000000..b2723c8 --- /dev/null +++ b/MyNotes.py @@ -0,0 +1,50 @@ +import os +import datetime + +import sublime +import sublime_plugin + +DEFAULT_FILENAME = os.path.join("~", "notes.txt") + + +class Listener(sublime_plugin.ViewEventListener): + @classmethod + def is_applicable(cls, settings): + return settings.has("INSERT_THE_DATE") + + @classmethod + def applies_to_primary_view(cls): + return True + + def on_activated(self): + sel = self.view.sel() + sel.clear() + sel.add(sublime.Region(self.view.size())) + + now = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S") + self.view.run_command("insert", args=dict(characters="\n{}\n".format(now))) + + self.view.show(self.view.size()) + + self.view.settings().erase("INSERT_THE_DATE") + + + +class OpenMyNotesAndAppendTimeCommand(sublime_plugin.WindowCommand): + def run(self): + settings = sublime.load_settings("MyNotes.sublime-settings") + + filename = os.path.expanduser(settings.get("path", DEFAULT_FILENAME)) + + view = self.window.find_open_file(filename) + + if view: + self.window.focus_view(view) + view.sel().clear() + view.sel().add(sublime.Region(view.size(), view.size())) + now = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S") + view.run_command("insert", args=dict(characters="\n{}\n".format(now))) + self.view.show(self.view.size()) + else: + view = self.window.open_file(filename) + view.settings().set("INSERT_THE_DATE", True) diff --git a/MyNotes.sublime-commands b/MyNotes.sublime-commands new file mode 100644 index 0000000..7cfc55d --- /dev/null +++ b/MyNotes.sublime-commands @@ -0,0 +1,3 @@ +[ + { "caption": "Open My Notes", "command": "open_my_notes_and_append_time" } +] diff --git a/MyNotes.sublime-settings b/MyNotes.sublime-settings new file mode 100644 index 0000000..32b209e --- /dev/null +++ b/MyNotes.sublime-settings @@ -0,0 +1,3 @@ +{ + "path": "~/notes.txt" +} |
