Confirmed users
574
edits
(Cross out the finished items.) |
(Move everything that isn't done onto DXR Roadmap.) |
||
| Line 21: | Line 21: | ||
* <strike>Support [https://bugzilla.mozilla.org/show_bug.cgi?id=813524 case-insensitivity].</strike> | * <strike>Support [https://bugzilla.mozilla.org/show_bug.cgi?id=813524 case-insensitivity].</strike> | ||
* <strike>Implement [https://github.com/erikrose/dxr/blob/query-parser/docs/queries.rst a real query parser].</strike> | * <strike>Implement [https://github.com/erikrose/dxr/blob/query-parser/docs/queries.rst a real query parser].</strike> | ||
** (1) Docs (mostly user-facing) about how the query language is spelled and what it means | ** <strike>(1) Docs (mostly user-facing) about how the query language is spelled and what it means</strike> | ||
** <strike>(1) Don't require delimiters around a regex when entered into the Advanced Search Regex field</strike> | ** <strike>(1) Don't require delimiters around a regex when entered into the Advanced Search Regex field</strike> | ||
** <strike>(1) In the new UI, keep a text-only representation or some other way to be usable from custom search plugins or URL-bar keywords.</strike> | ** <strike>(1) In the new UI, keep a text-only representation or some other way to be usable from custom search plugins or URL-bar keywords.</strike> | ||
** <strike>(2) A way to semantically include double quotes in the search string: the parser shouldn't always eat them.</strike> | ** <strike>(2) A way to semantically include double quotes in the search string: the parser shouldn't always eat them.</strike> | ||
* <strike>Quit auto-focusing the search field [as much].</strike> | * <strike>Quit auto-focusing the search field [as much].</strike> | ||
| Line 41: | Line 33: | ||
* <strike>We'll write a search query parser that supports Python-style quoting for regexes and everything else. Use double quotes or single quotes. Each can contain the other. If you really need to go crazy, you can backslash-escape the kind of quote you're using.</strike> | * <strike>We'll write a search query parser that supports Python-style quoting for regexes and everything else. Use double quotes or single quotes. Each can contain the other. If you really need to go crazy, you can backslash-escape the kind of quote you're using.</strike> | ||
* <strike>Regex search will support barewords. If you need to use a pattern that contains a space or quotes, put it in single or double quotes (see above). There's no reason to require quotes all the time, since we don't need to hang a "replace" pattern off the end a la vi.</strike> | * <strike>Regex search will support barewords. If you need to use a pattern that contains a space or quotes, put it in single or double quotes (see above). There's no reason to require quotes all the time, since we don't need to hang a "replace" pattern off the end a la vi.</strike> | ||
* Advanced search and textual search should either be mutually exclusively shown (in which case we'd act like Google's advanced search, snapping back to textual mode when showing results), or we can have server-side code send back the textual equivalent to the advanced search (or the advanced equivalent to the textual search) along with the search results. That way, we don't immediately need to write a JS query parser, though we could add one later and get better latency. We'll have examples of what each advanced field takes in dimmed text in the field, demonstrating a few of the interesting features: for instance, '"main(const int, ...)"'. | * <strike>Advanced search and textual search should either be mutually exclusively shown (in which case we'd act like Google's advanced search, snapping back to textual mode when showing results), or we can have server-side code send back the textual equivalent to the advanced search (or the advanced equivalent to the textual search) along with the search results. That way, we don't immediately need to write a JS query parser, though we could add one later and get better latency. We'll have examples of what each advanced field takes in dimmed text in the field, demonstrating a few of the interesting features: for instance, '"main(const int, ...)"'.</strike> | ||
* Improve our filter names so they're shorter and more memorable ("subclass" vs. "derived"). | * Improve our filter names so they're shorter and more memorable ("subclass" vs. "derived"). | ||
* <strike>Take the "l" out of line-number URL fragments. It looks like a 1. You can just start them with numbers.</strike> | * <strike>Take the "l" out of line-number URL fragments. It looks like a 1. You can just start them with numbers.</strike> | ||
| Line 56: | Line 48: | ||
B: Behind the scenes. A non-user-visible change that will enable other changes. | B: Behind the scenes. A non-user-visible change that will enable other changes. | ||
Now that we've landed the UI branch, the remaining items have migrated to the [[DXR Roadmap]]. | |||
=== More Trees, More Often === | === More Trees, More Often === | ||
* | * <strike>(3) "Right now I think mxr updates from mozilla-central faster than daily. I've used that on a number of occasions to figure out what has broken my build/patch."</strike> [We now update every 6 hours.] | ||
=== Search === | === Search === | ||
* <strike>(2) A way to semantically include double quotes in the search string: the parser shouldn't always eat them.</strike> | * <strike>(2) A way to semantically include double quotes in the search string: the parser shouldn't always eat them.</strike> | ||
=== Blame/VCS integration === | === Blame/VCS integration === | ||
* <strike>(4) Show hash or other VCS revision identifier, perhaps with the "Built 6 days ago" indicator. (easy)</strike> | * <strike>(4) Show hash or other VCS revision identifier, perhaps with the "Built 6 days ago" indicator. (easy)</strike> | ||
=== UI/UX === | === UI/UX === | ||
* <strike>(1) Don't require delimiters around a regex when entered into the Advanced Search Regex field</strike> | * <strike>(1) Don't require delimiters around a regex when entered into the Advanced Search Regex field</strike> | ||
* <strike>(1) In the new UI, keep a text-only representation or some other way to be usable from custom search plugins or URL-bar keywords.</strike> | * <strike>(1) In the new UI, keep a text-only representation or some other way to be usable from custom search plugins or URL-bar keywords.</strike> | ||
* <strike>(1) Optional case sensitivity</strike> | * <strike>(1) Optional case sensitivity</strike> | ||
* <strike>(1) The Navigation pane, also something which shows up apparently at random, should be more predictable and should have whatever kind of disclosure control we decide upon for the Advanced Search form.</strike> | * <strike>(1) The Navigation pane, also something which shows up apparently at random, should be more predictable and should have whatever kind of disclosure control we decide upon for the Advanced Search form.</strike> | ||
* <strike>(2) When navigating down the directory/file tree, it keeps autofocusing the search field, which is super-annoying if you're using keyboard-only navigation (with quickfind and enter) to do the traversal.</strike> | * <strike>(2) When navigating down the directory/file tree, it keeps autofocusing the search field, which is super-annoying if you're using keyboard-only navigation (with quickfind and enter) to do the traversal.</strike> | ||
* <strike>(3) Change line-number fragment from #l5 to just #5. Lowercase Ls look like ones. (easy)</strike> | * <strike>(3) Change line-number fragment from #l5 to just #5. Lowercase Ls look like ones. (easy)</strike> | ||
* <strike>(3) More obviously indicate when the search results are out of date. Dim them?</strike> [Added a spinner in the search field.] | * <strike>(3) More obviously indicate when the search results are out of date. Dim them?</strike> [Added a spinner in the search field.] | ||
=== Just Bugs === | === Just Bugs === | ||
* <strike>(3) Fix redundant "mozilla-central/search?tree=mozilla-central"</strike> | * <strike>(3) Fix redundant "mozilla-central/search?tree=mozilla-central"</strike> | ||
== Initial Page == | == Initial Page == | ||