GithubHelp home page GithubHelp logo

usernamehw / vscode-todo-md Goto Github PK

View Code? Open in Web Editor NEW
128.0 128.0 14.0 3.2 MB

VSCode extension for Todo tracking based on "todo.txt" format.

Home Page: https://marketplace.visualstudio.com/items?itemName=usernamehw.todo-md

License: MIT License

TypeScript 89.95% JavaScript 1.29% SCSS 5.75% Vue 3.01%
gtd task todo todoapp todolist todotxt vscode-extension

vscode-todo-md's People

Contributors

dustinsterk avatar neil2893 avatar usernamehw avatar viswanathgs avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

vscode-todo-md's Issues

Create special tag to track how much time the task has taken

{start:2021-02-16T19:30:43} {end:2021-02-16T19:30:43}
  • Create context menu item for webview Start
  • Highlight active tasks in webview?
  • After ending it should add a third special tag duration calculating the difference between end and start.
  • Create a special filter for started tasks $active or $started

Nested tags and contexts

Allow for nesting tags and contexts by detecting character like ">" or "/"


TODO:

  • Parse project/tag/context by special symbol \
  • ??? Create a decoration in editor painting \ in different color ???
  • Editor autocomplete must have another trigger character \ and different autocomplete items
  • Filter must search by part of the nested item
  • Webview must render nested items differently
  • Webview clicking on item should support clicking on part of the nested item to filter

Allow advanced decoration tweaking

Screenshot (297)

settings.json:

"todomd.decorations": {
	"project": {
		"border": "1px dashed",
		"borderColor": "#fade41ca",
		"letterSpacing": "7px",
		"fontWeight": "bold",
		"backgroundColor": "#ffa03410",
		"borderRadius": "5px",
	},
	"context": {
		"fontStyle": "italic",
		"outline": "thick double",
		"outlineColor": "#32a1ce"
	},
	"comment": {
		"backgroundColor": "#0001"
	}
}

Parse tags like {due:fri} written inside double quote maks

My use case is that I already use .ipynb file for my todo lists, and more precisely I use markdown cell inside ,ipynb files.
The formatting of ipynb files put the content of my todo inside double mark quotes, see example below. Todo MD does not parse the text inside quotes.

Example of a todo,ipynb file with the following content inside the markdown cell :

# Todo
- todo1
- todo2

Content of the todo.ipynb file :

{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Todo\n",
    "- todo1\n",
    "- todo2"
   ]
  }
 ],
 "metadata": {
  "interpreter": {
   "hash": "916dbcbb3f70747c44a77c7bcd40155683ae19c65e1c03b4aa3499c5328201f1"
  },
  "kernelspec": {
   "display_name": "Python 3.8.10 64-bit",
   "name": "python3"
  },
  "language_info": {
   "name": "python",
   "version": "3.8.10"
  },
  "orig_nbformat": 4
 },
 "nbformat": 4,
 "nbformat_minor": 2
}

Filter by tasks NOT done

I was suprised to see that, as far as I can tell, there is no way to filter the webview or any other view to only show the tasks that aren't marked as done. You can filter by "done", but not by "not done", or did I miss a feature?
As I go through the tasks and mark them as done, I would like them to not appear in the list, hence the need for this filter.
Would it be possible to add?
Thanks!

Honor #, @, and + tags position within todo item text

This could be nitpicky, but I like to use @context, #tag and +project attributes within the body text of my todo items. However the extension automatically moves any attributes to the end of the line.

For example, the todo item: Move +Project items to other #buckets would render as: Move items to other #buckets +Project (which admittedly, while not perfect, is comprehensible).

But, since I like to use the @context attribute for colleagues' names, the item: Speak to @Context about +Project #issue. becomes; Speak to about #issue +Project @Context, which is a bit harder to parse than the original.

Is it possible to override this automatic attribute repositioning? It's probably a trivial change if you know CSS (or JS?) but unfortunately I don't.

If not, is it possible to have an override option added?

sort & archive whole file in default

Hello @usernamehw ,

Current behavior requires us to select text before sort or archive.
Could you consider to move this behavior to "Sort/archive selected tasks" then make "Sort/archive tasks" apply to all the texts in active file?

Best regards,
Huka

Not work in remote vscode

When I use SSH to open remote vscode.
TodoMD can not show tasks and can not mark task as complete.

can not access file by vscode-remote://ssh-remote uri

Sort by project

Hello,
would it be possible to consider the feature "sorting by Project", where Project would be sorted alphabetically, and tasks within project by priority ?
It would be great.
Thanks !

Create Webview view

Soon it will be possible to put webview in place of a Tree (Sidebar / Panel) microsoft/vscode#104601

  • Priority
  • Tags
  • Projects
  • Links
  • Count
  • Contexts
  • Due date
  • Add Webview to README
    • Demo pic
    • Settings
    • Features

Screenshot (326)

Automatically get links from document

Currently to get "follow link" context menu in the Tree View you have to wrap links in special tags:

google {link:https://www.google.com}

It would be nice to get that ability without wrapping.

VSCode already has api to get all parsed links from the document (vscode.executeLinkProvider).

const links = await vscode.commands.executeCommand<vscode.DocumentLink[]>('vscode.executeLinkProvider', window.activeTextEditor?.document.uri);// 6-7ms :(

Default file is not specified

I have an existent todo.md. If I run: Todo MD: Add a task I get:

Default file is not specified even when it was specified.

image
image

The same happens with Todo MD: Open default archive file.

Using MacOS Catalina 10.15.6

Sorting breaks nested tasks

Example of sorting by priority:

Before sorting:

(C) parent
    (A) nested 1
    (B) nested 2

After sorting:

    (A) nested 1
    (B) nested 2
(C) parent

Recurrent syntax

Please clarify (in doc?) all recurrent options.
I could not find how to :

  • every 2 weeks - e2w?? doesn't work for me..
  • event 3 months - e3m ?

support [ ] and [x]

Hello,

Could you consider support [ ] and [x] prefix for each task?
Example:

  • todo is not done
  • done

Best regards,
Huka

Set task completed/active commands request

It would be good to have possibility of setting current task as completed or as active by the command(s). Now there is a command Complete a Task which is not useful (especially for many active tasks) because it displays a list of active tasks. It is completely unnecessary and not homogeneous with other commands which operate on current task - so there is already an algorithm which obtains current tasks from cursor position. Also there should be symmetrical command which removes completed element from current task and make it as active.

Order items inside the line

Having a command to sort items in the task:

${priority} ${text} ${project} ${tag} ${context}

wow (A) +Proj @home #first more text #second

After running the command:

(A) wow more text +Proj #first#second @home

Nested tasks

  • Parse document, find nested tasks
  • Show nested tasks in Tree View
  • Show nested tasks in webview
  • It should be possible to collapse nested tasks in webview
  • Filter must take nested tasks into account and show the entire tree when any child node match exists
  • Create a special tag {c} that would track collapsed state?
  • [webview] Alt+click to recursively expand/collapse
  • Archive nested task should be noop and show a warning message
  • Delete a task that has child nodes should maybe delete all nested tasks and show a warning beforehand

How to create custom priority?

I wanna make a custom priority like (A) or (B).
It should be (BUG) and (FEATURE).

Can i implement this in settings.json? If I do, then how?

Validate due date as an actual date

Currently, it can tell if the due date is invalid by a RegExp of the sort (\d\d\d\d)-(\d\d)-(\d\d) and some constants.


{due:2020-10-35}
{due:2020-10-0}

Both are invalid, but only the second one is highlighted.

Screenshot (342)

Syntax Highlighting not working

Hi,
Not sure if this is an issue with Todo MD or something else - but I can't seem to get syntax highlighting to work?
I set todo.md as my default file, and it shows up in the webview/changes are synced, but there's no syntax highlighting at all in the text file.

Also, not sure if this is related, But the webview doesn't update when I edit the default file also, I've opened a separate ticket for that
#29

image

Feature Requests

  1. Support nested tasks. After this has been implemented, actually +project can be retired. Currently I have to manually mark almost every task with proper 'project', hope using nested task can save us a lot of time.
  2. Support due on hours/minutes grain. Currently only day level is supported
  3. block comments support and auto-hide
  4. reminder according to task due
  5. documentation on why and how to use context, project, tags

Tags/contexts/projects not rendering in Task view

I've encountered a bug in this extension that causes any contexts, tags, or projects to not render correctly in the Tasks view.

Here is a screenshot of the problem:
Screenshot-bad

  • Version: 1.61.2
  • Commit: 6cba118ac49a1b88332f312a8f67186f7f3c1643
  • Date: 2021-10-19T14:58:13.605Z
  • Electron: 13.5.1
  • Chrome: 91.0.4472.164
  • Node.js: 14.16.0
  • V8: 9.1.269.39-electron.0
  • OS: Linux x64 4.19.0-18-amd64
  • TodoMD version: v2.8.2

Here is the same Task view rendered correctly.

Screenshot-good

  • Version: 1.61.2
  • Commit: 6cba118ac49a1b88332f312a8f67186f7f3c1643
  • Date: 2021-10-19T14:58:13.605Z
  • Electron: 13.5.1
  • Chrome: 91.0.4472.164
  • Node.js: 14.16.0
  • V8: 9.1.269.39-electron.0
  • OS: Linux x64 5.4.0-89-generic
  • TodoMD version: v2.8.2

Everything looks fine in the Webview on both distros.

As mentioned in my previous issue, I'm not very well versed in CSS/JS etc. I have Googled the issue extensively, and tried some of the various fixes I've found, but haven't found a solution yet.

Any help would be appreciated.

Merge 3 autocomplete settings into 1

"todomd.tags", "todomd.projects" and "todomd.contexts" are deprecated and removed. Instead, new setting:

"todomd.suggestItems": {
	"#asdf": "### ASDF TAG",
	"+asdf": "### ASDF PROJECT",
	"@asdf": "### ASDF CONTEXT",
},

Setting value is a markdown description that is rendered on entity hover:

"todomd.suggestItems": {
	"+todomd": "Todo MD project\n\n[$(github) GitHub](https://github.com/usernamehw/vscode-todo-md)",
},

Views are rendered differently when not editing todo.md

When I edit todo.md, the webview correctly shows a nested treeview with all the tasks. However, when editing some other file the view is rendered incorrectly with all projects/contexts/tags being shown at the top and then all the tasks being shown without any nesting at all. The tasks view seem to follow a similar pattern with nesting and indentation of subitems being disabled when switching to a different file.

more sorting options

as a convert from todotxt , I miss some of the sorting choices. Here are some of the ideas I'd request being able to configure

  • tasks with no due date get sorted after those with future due dates
  • priority tasks go above due date tasks
  • sort by due date
  • sort by completion date
  • sort by creation date
  • sort by project
  • sort by tag
  • sort by context

Adding/Editing the default file doesn't update WebView

When editing the default file's text directly, the WebView doesn't update.
Closing/Opening the Webview won't update either, but Toggling a task's completion (in the WebView) will force a refresh.

Repro:

  1. Open WebView
  2. Open defualt file (text)
  3. Add a task, save
  4. Expected: WebView updates with new task, Actual: Nothing happens
  5. Close/Open WebView - doesn't update either
  6. Toggle completion (of any task) in WebView - it updates that task as well as adding your new task

image

Add simple text?

Is it possible to add common text to the file without the extension parsing every new line as a separate task? Even comments are parsed as tasks.

(A) ☐ task such and such
       this task is about ....

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.