Nova

Extensions


Readme

Waypoint

Waypoint extension provides Lightweight Task Bookmarking for Nova code editor.

Concept

Create Waypoints within the Files you work on, grouped by Journey.

Journey(s) > File(s) > Waypoint(s)

  • Journey - Synonymous with Task
  • File
  • Waypoint - Synonymous with LineNumber

Usage

When a Waypoint is Toggled, it is saved to the currently Active Journey within the SidePanel.

If no Journey is active, then a new one will be created and activated with the current date.

Command Palette

  • Waypoint: Create Journey (ctrl-opt-cmd-j)
  • Waypoint: Toggle Waypoint in Active Journey (ctrl-opt-cmd-m)
  • Waypoint: Edit Comment for selected node (ctrl-opt-cmd-c)
  • Waypoint: Select Journey (ctrl-opt-cmd-;)
  • Waypoint: Select Waypoint in Active Journey/File (ctrl-opt-cmd-')
  • Waypoint: Previous Waypoint (ctrl-opt-cmd-[)
  • Waypoint: Next Waypoint (ctrl-opt-cmd-])

Sidebar

In the Sidebar you can doubleclick on a Waypoint to open it in the editor, as well as deleting items at all three levels (Journey, File and Waypoint)

Data Storage

Waypoints are saved to file in .nova/waypoints.json.

Its up to you if you want to include this file in your GIT repository to share with team members.

Configuration

To configure global preferences, open Extensions → Extension Library... then select Waypoint's Preferences tab.

You can also configure preferences on a per-project basis in Project → Project Settings

Limitations

  • Because the extension uses text strings to create it's markers, it doesn't handle duplicate lines very well. I'm working on improving this.

Future Improvements

I'm working on the following improvements/bugs:

  • Improve Sidebar sorting with options
  • Handle renamed files
  • Export all Waypoints to markdown
  • Better support for multiple Nova windows and document editors
  • Improve "line realignent" mechanism
  • Make console errors less dramatic/scarey!
  • Better README for extension and more info on usage
  • Automatic backup and recovery for Waypoint file
  • More translations (english only atm)
  • Handle bookmarking for duplicated lines (currently waypoints must be unique)
  • Drag and drop Waypoints into other Journeys (Requires Nova API support)
  • Better display of comments in sidebar (Requires Nova API support)
  • Display waypoints in filepanel (Requires Nova API support)

Issues

Report Issues here help me to improve the extension.

Acknowledgements

I wouldn't have been able to get started without experimenting with code from their extensions. Thank you.


Changelog

Version 1.0.9

  • Will offer a trimmed replacement if journey name exceeds 50 characters.
  • Cleanup if .nova folder is deleted or renamed.
  • Fixed bug when opening single file not a folder

Version 1.0.8

  • Use inputPallete for comments on waypoints
  • Better error handling during startup

Version 1.0.7

  • Fixed bug with displayed comment length

Version 1.0.6

  • Add comments to Journeys Files and Waypoints.

Version 1.0.5

  • Prevent waypoints being created if the line appears in the file multiple times.

Version 1.0.4

Non Nova Project Workspace support (i.e ad-hoc folders)

Version 1.0.3

Docs

Version 1.0.2

Docs

Version 1.0.1

Update default key bindings to all use prefix CTRL-ALT-CMD

Version 1.0.0

Initial release


License

This project is provided under the MIT license:

Copyright © 2021 Daniel Harding.

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.