Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

wikified task concept #13

Closed
linuxcaffe opened this issue Nov 5, 2013 · 5 comments
Closed

wikified task concept #13

linuxcaffe opened this issue Nov 5, 2013 · 5 comments

Comments

@linuxcaffe
Copy link

One of the most important things about a tw extension is that it can pass the "round-trip test". That's where a task is created on one platform and then transfered to the other platform and modified. Tasks get sent back to the first platform, to see if the initial tasks and changes are intact. For this to happen, each platform has to be able to accept and preserve all of the data the other one sends, and in turn, send all the data back. To do that, a wikified task has to be able to handle any attribute that gets thrown at it.

So my idea for a "wikified task" uses existing vimwiki definition lists, and should be visually clear and easy to manipulate. It looks almost like (but better than) task info.

   - [142] This is a task description 
      Status::       Pending  
      Due::          2013-12-21-00:00:00
      Area::         it.tw    
      Project::      wiki
      Phase::        2
      Tags::         test,feature
      Entered::      2013-10-28 02:29:43 (8 days)
      :: 2013-11-31 22:01:08 -- this is an annotation
      :: 2013-12-04 19:21:20 -- docs: https://github.com/vimwiki/vimwiki/tree/master/doc
   - [212] This is the next task..               

this is of course foldable, and when folded, the line could look like;

   - [142] This is a task descrip..(2003-12-21) +test,feature [2]

all of this being automatically populated, on wikifying a task, and changes are sent to tw like they are now (but with more data. :) and the whole thing becomes a task-text-object.

@linuxcaffe
Copy link
Author

In reference to task-folding, and showing summary info on the fold, some ideas, inspiration and maybe even code (but don't get sucked in ;-) check out vimorganizer, although emacs-oriented, it features some fine fancy folding.
Herb has done an amazing job and his outline-handling is a progression of vimoutliner, that led to his vim-orgmode clone. His implementations of related keybinds and outline-navigation are (imho, outlining since 1989) second-to-none. Too bad I can't/ won't go down the emacs rabbit-hole, prefer to dig my own!
To have a quick peak at the behaviors and the folding results, check out some of Herb's video, specifically;

http://vimeo.com/16650450

and the github site here;

https://github.com/hsitz/VimOrganizer

@teranex
Copy link
Owner

teranex commented Nov 12, 2013

I'm closing this issue as most of this is contained in #15.
Note also that multi-line tasks would require changes to vimwiki core and would make parsing etc a lot more difficult.

@teranex teranex closed this as completed Nov 12, 2013
@linuxcaffe
Copy link
Author

My only concern with a one-line wiki-task is that it can't contain or represent all of the fields of a typical task, much less one that uses UDAs. I do understand that it diverges from your original concept, and would pose some extra parsing challenges.

@linuxcaffe
Copy link
Author

I've never used vimwiki definition-lists but they seem baked-into a vimwiki core function, as per the doc;

Definition lists:
Term 1:: Definition 1
Term 2::
:: Definition 2
:: Definition 3

I just thought that something like

- [ ] description
Due:: 2013-11-17
Project:: foo
:: Annotation
:: Annotation

would be half-way parsed and ready to call.. is all
(caveat: don't really know what I'm talkin about :)

@linuxcaffe
Copy link
Author

I gotta say, after perusing the code, what little of it I understand, I have to says thank you. It's clearly laid out and thoughtfully documented, and I'm learning a bunch from it. If I charged in like a man on a mission.. well.. I've been ruminating this one a while now :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants