Giter Club home page Giter Club logo

language-todotxt's Introduction

language-todotxt package

Todo.txt

This package adds syntax highlighting to todo.txt files in the Atom text editor.

Originally converted from the tmTodoTXT TextMate bundle.

Build Status Build Status Gitter chat

License

Copyright (c) 2011, Philipp Fehre [email protected] All rights reserved.

Copyright (c) 2014, 2017, Brandon Padgett [email protected] All rights reserved.

Copyright (c) 2017, 2018 Evan Prodromou [email protected] All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. Neither the name of the TU München nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Code of conduct

This project has adopted a code of conduct in order to be welcoming to all participants.

Commands

When you are in todo.txt mode, you have access to the following commands:

  • todotxt:add: add a new task on the line below the current line
  • todotxt:done: mark the task on the current line done
  • todotxt:priority-a set the priority of the current task to A
  • todotxt:priority-b set the priority of the current task to B
  • todotxt:priority-c set the priority of the current task to C
  • ... (same thing for D-Y)
  • todotxt:priority-z set the priority of the current task to Z

There is also an autocompletion function when you are typing out a context or a priority.

Useful packages for todo.txt files

One nice thing about the todo.txt format is that it's easily managed with basic text sorting and filtering tools. Here are some that are available for Atom:

  • sort-lines. It sorts lines. Very useful for todo.txt.

language-todotxt's People

Contributors

evanp avatar gerane avatar jaswrks avatar karbassi avatar krzentner avatar silentmatt avatar ubuntudroid 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

Watchers

 avatar  avatar  avatar  avatar

language-todotxt's Issues

Syntax highlighting for date created

Thanks for this tool. I'd love to have syntax highlighting for task creation dates and the priorities as well.

Example:
(A) 2015-02-06 Finish summaries of chapters +book @work due:2015-02-08

Unit tests

Probably need some tests set up to check the behaviour. There's a system built into Atom, I think. At least they have tests in the Atom development tutorial!

don't understand

Can you provide a example of usage? I have no idea how to use this. Its nothing colored.

Failed to activate the language-todotxt package

[Enter steps to reproduce:]

  1. ...
  2. ...

Atom: 1.32.0 x64
Electron: 2.0.9
OS: Microsoft Windows 10 Education
Thrown From: language-todotxt package 1.1.5

Stack Trace

Failed to activate the language-todotxt package

At letter.toLowerCase is not a function

TypeError: letter.toLowerCase is not a function
    at _loop (/packages/language-todotxt/lib/language-todotxt.js:47:44)
    at Object.activate (/packages/language-todotxt/lib/language-todotxt.js:45:24)
    at Package.activateNow (~/AppData/Local/atom/app-1.32.0/resources/app/static/<embedded>:11:3029631)
    at measure (~/AppData/Local/atom/app-1.32.0/resources/app/static/<embedded>:11:3029043)
    at Package.measure (~/AppData/Local/atom/app-1.32.0/resources/app/static/<embedded>:11:3026674)
    at activationPromise.activationPromise.Promise (~/AppData/Local/atom/app-1.32.0/resources/app/static/<embedded>:11:3028903)
    at new Promise (<anonymous>)
    at Package.activate (~/AppData/Local/atom/app-1.32.0/resources/app/static/<embedded>:11:3028846)
    at PackageManager.activatePackage (~/AppData/Local/atom/app-1.32.0/resources/app/static/<embedded>:11:378471)
    at ~/AppData/Local/atom/app-1.32.0/resources/app/static/<embedded>:11:912430
    at r (~/AppData/Local/atom/app-1.32.0/resources/app/static/<embedded>:11:907036)
    at o (~/AppData/Local/atom/app-1.32.0/resources/app/static/<embedded>:14:1037411)
    at t.bufferStream (~/AppData/Local/atom/app-1.32.0/resources/app/static/<embedded>:14:1037565)
    at Socket.e.on (~/AppData/Local/atom/app-1.32.0/resources/app/static/<embedded>:14:1036167)
    at emitOne (events.js:121:20)
    at Socket.emit (events.js:211:7)
    at Pipe._handle.close [as _onclose] (net.js:554:12)

Commands

     -2:09.0 intentions:highlight (input.hidden-input)
     -2:08.7.0 core:save (input.hidden-input)
     -2:02.4.0 intentions:highlight (input.hidden-input)
     -2:01.2.0 core:undo (input.hidden-input)
  2x -1:58.8.0 core:redo (input.hidden-input)

Non-Core Packages

atom-beautify 0.33.4 
atom-clock 0.1.16 
atom-python-run 0.9.7 
atom-python-virtualenv 1.0.2 
autocomplete-java 1.2.7 
autocomplete-python 1.10.12 
busy-signal 1.4.3 
git-control 0.9.0 
git-log 0.4.1 
git-plus 8.1.0 
git-time-machine 2.1.0 
gpp-compiler 3.0.7 
Hydrogen 2.6.0 
ide-java 0.8.3 
ide-python 1.0.0 
intentions 1.1.5 
language-kickstart 0.2.0 
language-puppet 0.23.0 
language-todotxt 1.1.5 
linter 2.2.0 
linter-gcc 0.7.1 
linter-javac 1.9.4 
linter-ui-default 1.7.1 
linter-vagrant-validate 1.1.0 
print-code 0.7.1 
python-debugger 0.2.0 
python-indent 1.1.6 
python-tools 0.6.9 
script 3.18.1 
split-diff 1.5.3 
todo-show 2.3.2 
tree-view-git-status 1.5.2 
vagrant 0.1.0 

Visually distinct start date

At least on the dark ui theme, the start date is the same color as the priority. It'd be nice to see a little more contrast.

Function to mark a task as complete

Like "todo-txt do", marks a task as done:

  • Add an "x " at the beginning of the line
  • Add the completion date
  • Change priority "(A)" to "pri:A" and move it to the end of the line

match todo.txt rather than *.txt

I am not certain if this is possible. Any txt file I create is set as a TodoTXT file instead of Plain Text. Can language-todotxt only recognize todo.txt?

Restructure syntax highlighting

Our syntax highlighting is kind of a mess. I'd like to get it so we have the following elements available for styling:

  • x ... done task appears as a comment
  • creation date
  • completion date
  • (A) priority
  • +Project
  • @Context
  • description plain text
  • due:yyyy-mm-dd due date
  • t:yyyy-mm-dd start date
  • key:value key-value metadata pairs

I can see adding other special handling for well-known key-value pairs, but for now this should probably work well.

Don't automatically load for done.txt

done.txt is useful, but most of the functionality in the next version (like adding new tasks) won't be useful for it. To be conservative, we should not load for it.

non standard date separators

I use . as a date separator I've forked and modified the code to meet my needs. Do you think there is a big enough audience to add this to the options and allow user to select the data separator?

Interferes with Markdown Preview (core package)

With this package installed, I'm not able to open a Markdown preview. Has anyone else had this problem?

I'm not sure if this is the right place to report this.

  • Atom 1.10.2
  • language-todotxt 0.6.1
  • OSX 10.11.6

Let me know if there's anything I can do to help resolve this issue.

Increase priority of current task

A way to quickly change a (B) to an (A) or a (W) to a (V). Trying to increase the priority of an (A) or an unprioritised task is a no-op.

Add a priority

Function to add a letter priority to a line, or change the current priority.

Screenshot

Dear @gerane,

Thank you for creating this package. I would like to have TODO syntax highlighting, too.

Thus, I installed the package but I don't see any highlighting. See this example:

image

Could you please provide me with a screenshot so that I can see how it is supposed to look like?

Thankfully,

Robert

Add project and context suggestions

I'm working on adding autocomplete suggestions for projects and contexts, so when you type "+", you get a list of all the projects that it finds in the file, and similarly for "@". If that's something you're interested in adding, I can submit a pull request.

Create new task

Add a new line with the creation date at the beginning of the line, and the cursor placed one space after the date:

2017-08-14 |

Update README

The README needs:

  • todo.txt logo
  • link to todotxt.org
  • link to LICENSE
  • link to CODE_OF_CONDUCT

Move to todotxt organization

There's a new organization managing the todotxt/todo.txt-cli and other apps. It'd be great to move this repo there and get more group maintenance.

It's better to move it than fork it since the issues will all move along with it.

@karbassi manages the organization and could help with the move. I would be happy to help maintain the codebase after the move.

@gerane we would also need to figure out how to manage the push to the Atom package manager.

Archive completed tasks

Function to archive completed items in todo.txt to done.txt in same directory, similar to behaviour of "todo-txt archive". Ideally, it'd have a keystroke associated with it.

"main" module

Having additional functionality besides the syntax colorisation requires a main module.

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.