Skip to content

Latest commit

 

History

History
251 lines (234 loc) · 9.33 KB

README.org

File metadata and controls

251 lines (234 loc) · 9.33 KB

orgmode for Sublime Text 2 ==========================

About

My shot on bringing Org-Mode {3} to Sublime Text 2 {4}. This project {1} is still in very early development. Nobody knows what will come next :). This won’t be a simple copycat of the original one. I want to “port” useful things in a way that works best for Sublime Text 2. So there may be things that aren’t in either version or just behave more or less differently.

Features

Here’s a list of all the features implemented so far:

  • Context sensitive highlighting
    • Headlines
    • Pages. E.g.: — This is a page marker —
    • Breaks. E.g.: ~ This is a break.
    • Tacks
    • Tags. E.g.: :important:, 1️⃣two3️⃣
    • Follow ups. E.g.: -> Lorem ipsum. => Lorem ipsum.
    • Checkboxes
    • Checkbox summaries
    • External links
    • Inter document links. E.g. {1} {{Context sensitive actions}}
    • Code blocks
    • Python tracebacks
  • Context sensitive actions
    • Toggle checkbox on pressing enter
    • Auto update of checkbox summary on toggle of checkboxes
    • Recalc number of children in checkbox summary on pressing enter
    • External link opener on pressing enter (currently only working on OSX and Windows)
      • Plugin-system including aliases
      • Plugin: Jira
        • Normal call: jira:PLAYGROUND
        • Alias j: j:PLAYGROUND-123
      • Plugin: Crucible code review
        • Normal call: crucible:CR-123
        • Aliases cru and cr: cr:CR-123
      • Plugin: FishEye repo incl. opt. changeset
        • Normal call: fisheye:some_repo
        • Normal call: fisheye:some_repo/revision_or_tag
        • Aliases fish and fe: fe:some_repo/123
      • Plugin: eMail
    • Auto completion of filenames and directories when writing external links to local files
    • Jump between inter document links on pressing enter (e.g. {1})
    • Jump to linked headline on pressing enter (e.g. {{Installation}})
    • Show an outline of the document on using goto symbol
    • Open Python file at specific line from Python tracebacks when pressing enter on a filepath
  • Tab completions
    • Headlines: ””, “*”, “***”
    • Pages: “p”
    • Breaks: “b”
    • Tack: “-”
    • Tack with unchecked checkbox: “-c”
    • Tack with checked checkbox: “-cc”
    • Tack with unchecked checkbox and external link: “-cl”
    • Tack with TODO: “-ct”
    • Tack with WORKING: “-cw”
    • Tack with DONE: “-cd”
    • Tag: “t”
    • Additional Tags: “:” (just keep hitting tab for more)
    • Follow ups: “f”
    • Sum ups: “ff”
    • External links: “l”
    • Inter document links: “i”, “ii”
    • Checkbox unchecked: “c”
    • Checkbox checked: “cc”
    • Checkbox summary: “cs”

Installation

  • Codebase Clone or copy the contents into a Packages/orgmode folder.
  • Key bindings for interaction See {{Key bindings for interaction}} under {{Attachments}} below for details.
  • Theme additions for proper syntax highlighting See {{Theme additions for proper syntax highlighting}} under {{Attachments}} below for details.

Todo [8/27]

  • [X] HelpIt integrated, alt+f1 looks up th eword on google.
  • [X] redmine, redmine:9726, issue:9726, #9726
  • [X] local file not working well for windows
    • [X] åäö problems
  • [X] open cmd line at ”cmd:c:\dev”
    • cmd:c:\dev\
    • prompt:c:\dev\apps
  • [X] http resolver, make urls with ‘#” work
  • [X] navigation history
  • [X] src refactor, moved settings to Global.sublime-settings
  • [X] added default theme in orgmode dir.
  • [ ] External link opener on pressing enter [2/3]
    • [X] on OSX
    • [ ] on Linux
    • [X] on Windows
  • [ ] When (un-)checking all checkboxes of siblings, toggle parent checkbox.
  • [ ] Either make highlight_code_remarks.py configurable thru view settings so that orgmode can control its regex patterns or fork/extend it to archive an equal goal.
  • [ ] Export into formatted text file [0/1]
    • [ ] Format: Markdown
  • [ ] Automatic export after save into given format if mark found in org file.
  • [ ] Fix cursor position after filling checkbox summary on checkbox toggle
  • [ ] Tab trigger “c” [1/2]
    • [X] …which extends into “[ ] ”
    • [ ] …and updates the summary
  • [ ] Define special block/area in document where time logging can occur. If one changes the status (TODO, WORKING, DONE etc.) this will be written into the log. Ideas for format are welcome!
  • [ ] If all children don’t have checkboxes only show the number of children in the summary
  • [ ] If the summary ends with “%]” calculate percentage instead of amount
  • [ ] If multiple checkboxes are in one line only work with the one under the cursor
  • [ ] If multiple checkbox summaries are in one line only work with the one under the cursor
  • [ ] If mutliple checkbox summaries are in one line update every one of them independently on updating a child checkbox
  • [ ] Move key bindings out of readme into its own file
  • [ ] Move theme additions out of readme into its own file
  • [ ] Implement external link plugin: eMail [2/3]
  • [ ] Pressing return on a TODO chain shall set it to DONE
  • [ ] ASCII tables.
  • [ ] Code remark collector. Recursively scans a specified folder for files with given filename pattern for code remarks and shows them as a list. Should be realized with begin and end markers to support later update on pressing enter on either marker.

Known Issues

  • When creating an empty checkbox summary and hitting an checkbox below the cursor will be placed a little bit to the left. Seems like the selection is being rebuilt incorrectly due to the added chars for the summary.
  • Subsequent indent of wrapped paragraphs don’t respect stars, tacks, checkboxes, follow ups etc.. -> http://sublimetext.userecho.com/feedback/26943-/
  • Update of checkbox summary should only see children who start with either an asterisk, tack or checkbox. Other things like external links or follow ups should be ignored.

External links

{1} Homepage https://bitbucket.org/theblacklion/sublime_orgmode/ {2} Issue tracker https://bitbucket.org/theblacklion/sublime_orgmode/issues?status=new&status=open {3} Sublime Text 2 http://www.sublimetext.com/2 {4} Org-Mode for Emacs http://orgmode.org/

Attachments

  • Theme additions for proper syntax highlighting Put the following into your color scheme (.tmTheme file):

    [code] <dict> <key>name</key> <string>orgmode link</string> <key>scope</key> <string>orgmode.link</string> <key>settings</key> <dict> <key>foreground</key> <string>#FB9A4B</string> <key>fontStyle</key> <string>underline</string> </dict> </dict> <dict> <key>name</key> <string>orgmode page</string> <key>scope</key> <string>orgmode.page</string> <key>settings</key> <dict> <key>foreground</key> <string>#FFFFAA</string> </dict> </dict> <dict> <key>name</key> <string>orgmode break</string> <key>scope</key> <string>orgmode.break</string> <key>settings</key> <dict> <key>foreground</key> <string>#FFAAAA</string> </dict> </dict> <dict> <key>name</key> <string>orgmode headline</string> <key>scope</key> <string>orgmode.headline</string> <key>settings</key> <dict> <key>foreground</key> <string>#9EFFFF</string> </dict> </dict> <dict> <key>name</key> <string>orgmode tack</string> <key>scope</key> <string>orgmode.tack</string> <key>settings</key> <dict> <key>foreground</key> <string>#FFFFAA</string> </dict> </dict> <dict> <key>name</key> <string>orgmode follow up</string> <key>scope</key> <string>orgmode.follow_up</string> <key>settings</key> <dict> <key>foreground</key> <string>#FFFFAA</string> </dict> </dict> <dict> <key>name</key> <string>orgmode checkbox</string> <key>scope</key> <string>orgmode.checkbox</string> <key>settings</key> <dict> <key>foreground</key> <string>#FFFFAA</string> </dict> </dict> <dict> <key>name</key> <string>orgmode checkbox summary</string> <key>scope</key> <string>orgmode.checkbox.summary</string> <key>settings</key> <dict> <key>foreground</key> <string>#FFFFAA</string> </dict> </dict> <dict> <key>name</key> <string>orgmode tags</string> <key>scope</key> <string>orgmode.tags</string> <key>settings</key> <dict> <key>foreground</key> <string>#AAFFAA</string> </dict> </dict> [/code]