summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOskari Timperi <oskari.timperi@iki.fi>2020-02-11 19:07:51 +0200
committerOskari Timperi <oskari.timperi@iki.fi>2020-02-11 19:07:51 +0200
commit3d8c5bff7eec9b8524e6da14b80eadcb3cca132b (patch)
tree8d7594fe847e21d57899c89fcac54f8cf072da63
downloadSublime-MyNotes-3d8c5bff7eec9b8524e6da14b80eadcb3cca132b.tar.gz
Sublime-MyNotes-3d8c5bff7eec9b8524e6da14b80eadcb3cca132b.zip
Initial commitHEADmaster
-rw-r--r--Main.sublime-menu23
-rw-r--r--MyNotes.py50
-rw-r--r--MyNotes.sublime-commands3
-rw-r--r--MyNotes.sublime-settings3
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"
+}