Skip to content

Instantly share code, notes, and snippets.

@robcowie
Created March 16, 2012 12:36
Show Gist options
  • Star 14 You must be signed in to star a gist
  • Fork 3 You must be signed in to fork a gist
  • Save robcowie/2049887 to your computer and use it in GitHub Desktop.
Save robcowie/2049887 to your computer and use it in GitHub Desktop.
Example Sublimetext 2 TODO plugin config
{
"color_scheme": "Packages/User/textmate-solarized/Solarized (Dark).tmTheme",
"default_line_ending": "unix",
"dictionary": "Packages/Language - English/en_GB.dic",
"draw_white_space": "selection",
"find_selected_text": true,
"font_face": "menlo",
"font_size": 12,
"highlight_line": true,
"todo":
{
"file_exclude_patterns":[
"*.css", "*.po", "*.mo"
],
"folder_exclude_patterns": [
"static", "vendor", "tmp"
],
"patterns":
{
"BUG": "BUG[\\s]*?:+(?P<bug>.*)$"
},
"case_sensitive": true,
"result_title": "TODO Results"
}
}
@paulmoore
Copy link

Here is the same key binding but operates on the whole project:

{
  "keys": ["ctrl+shift+t"],
  "command": "todo",
  "args": {"open_files_only": false}
}

@floer32
Copy link

floer32 commented May 17, 2013

Patterns that will match normal TODO: foo as well as Google Python style guide -style TODO(person): foo:

    "patterns":
    {
        "TODO": "TODO[(]*.*[)]*:+(?P<todo>.*)$",
        "NOTE": "NOTE[(]*.*[)]*:+(?P<note>.*)$",
        "FIXME": "FIX ?ME[(]*.*[)]*:+(?P<fixme>\\S.*)$",
        "CHANGED": "CHANGED[(]*.*[)]*:+(?P<changed>\\S.*)$",
        "BUG": "BUG[(]*.*[)]*:+(?P<bug>.*)$"
    },

@burnsjeremy
Copy link

If you want to use this for php DocBlocks you can use this as your setting (didn't add all, just enough to see how):

"todo":
    {
        "case_sensitive": false,
        "file_exclude_patterns":
        [
        ],
        "folder_exclude_patterns":
        [
        ],
        "patterns":
        {
            "TODO": "@todo+(?P<todo>.*)$",
            "FILE": "@file+(?P<file>.*)$"
        },
        "result_title": "TODO Results"
    }

@Quantme
Copy link

Quantme commented Nov 22, 2013

If I want a file to configure project-specific settings, where must be placed (related to my project folder) and how must be named?

All plugin configuration must be placed in user or project-specific settings inside a todo object, for example;

@pbanderas
Copy link

Inside the "settings" entry, like in this example to search PHPDoc comments for @todo

{
    "folders":
    [
        {
            "path": "."
        }
    ],
    "settings":
    {
        "detect_indentation": false,
        "tab_size": 4,
        "translate_tabs_to_spaces": true,
        "trim_trailing_white_space_on_save": true,
        "todo": {
            "patterns": {
                "TODO": "\\@todo[\\s]+(?P<todo>.*)$"
            },
            "folder_exclude_patterns": [
                "vendor"
            ]
        }
    }
}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment