Confirmed users
574
edits
m (→History: Add backlink to DXR.) |
(Cross out the finished items.) |
||
| Line 18: | Line 18: | ||
These will turn into filed bugs, not necessarily with a 1-to-1 correspondence. | These will turn into filed bugs, not necessarily with a 1-to-1 correspondence. | ||
* Squash the last few bugs in multi-tree support, and [https://bugzilla.mozilla.org/show_bug.cgi?id=820531 index more trees]. | * <strike>Squash the last few bugs in multi-tree support</strike>, and [https://bugzilla.mozilla.org/show_bug.cgi?id=820531 index more trees]. | ||
* Support [https://bugzilla.mozilla.org/show_bug.cgi?id=813524 case-insensitivity]. | * <strike>Support [https://bugzilla.mozilla.org/show_bug.cgi?id=813524 case-insensitivity].</strike> | ||
* Implement [https://github.com/erikrose/dxr/blob/query-parser/docs/queries.rst a real query parser]. | * <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 | ** (1) Docs (mostly user-facing) about how the query language is spelled and what it means | ||
** (1) Don't require delimiters around a regex when entered into the Advanced Search Regex field | ** <strike>(1) Don't require delimiters around a regex when entered into the Advanced Search Regex field</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>(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> | ||
** (2) A way to semantically include double quotes in the search string: the parser shouldn't always eat them. | ** <strike>(2) A way to semantically include double quotes in the search string: the parser shouldn't always eat them.</strike> | ||
* Indexing and search improvements | * Indexing and search improvements | ||
** (1) Move to a line-based search, as proposed in https://github.com/mozilla/dxr/pull/161#issuecomment-25201532. | ** (1) Move to a line-based search, as proposed in https://github.com/mozilla/dxr/pull/161#issuecomment-25201532. | ||
| Line 33: | Line 33: | ||
*** [Should be solved by ^^] As a jump point when I know a filename (eg, "nsILogin", click search, click the particular IDL I wanted). | *** [Should be solved by ^^] As a jump point when I know a filename (eg, "nsILogin", click search, click the particular IDL I wanted). | ||
*** Oddly enough, the direct result finder does search for paths ending in whatever you type, so that's an inconsistency (noticed by jmaher). | *** Oddly enough, the direct result finder does search for paths ending in whatever you type, so that's an inconsistency (noticed by jmaher). | ||
* Quit auto-focusing the search field [as much]. | * <strike>Quit auto-focusing the search field [as much].</strike> | ||
=== Decisions === | === Decisions === | ||
| Line 39: | Line 39: | ||
Here are some decisions the 4 people in the room (jonasf, ErikRose, rhelmer, and Schalk) agreed on at the 2013 Summit, recorded so we don't forget: | Here are some decisions the 4 people in the room (jonasf, ErikRose, rhelmer, and Schalk) agreed on at the 2013 Summit, recorded so we don't forget: | ||
* 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>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> | ||
* 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>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, ...)"'. | * 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, ...)"'. | ||
* 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"). | ||
* Take the "l" out of line-number URL fragments. It looks like a 1. You can just start them with numbers. | * <strike>Take the "l" out of line-number URL fragments. It looks like a 1. You can just start them with numbers.</strike> | ||
== Feedback == | == Feedback == | ||
| Line 60: | Line 60: | ||
* (1) Index multiple trees (starting with comm-central and mozilla-aurora, the most commonly used ones on MXR. The UX branch has been requested, too.) (some impact from IT, possibly) - this is a blocker for turning off MXR | * (1) Index multiple trees (starting with comm-central and mozilla-aurora, the most commonly used ones on MXR. The UX branch has been requested, too.) (some impact from IT, possibly) - this is a blocker for turning off MXR | ||
* (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." | * (3) <strike>"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 === | ||
| Line 66: | Line 66: | ||
* (1) Move to a line-based search, as proposed in https://github.com/mozilla/dxr/pull/161#issuecomment-25201532. | * (1) Move to a line-based search, as proposed in https://github.com/mozilla/dxr/pull/161#issuecomment-25201532. | ||
** This should solve jruderman's need to sometimes load ''all'' the search results onto the page and then cmd-F through them. | ** This should solve jruderman's need to sometimes load ''all'' the search results onto the page and then cmd-F through them. | ||
* (2) A way to semantically include double quotes in the search string: the parser shouldn't always eat them. | * <strike>(2) A way to semantically include double quotes in the search string: the parser shouldn't always eat them.</strike> | ||
* (3) Just typing a filename (or path segment?) without a path: specifier should find files by name or path. | * (3) Just typing a filename (or path segment?) without a path: specifier should find files by name or path. | ||
** [Should be solved by ^^] Trying to find files is hard. (Still haven't figured out how to get easily from the main page to Navigator.cpp on dom/base) | ** [Should be solved by ^^] Trying to find files is hard. (Still haven't figured out how to get easily from the main page to Navigator.cpp on dom/base) | ||
| Line 89: | Line 89: | ||
* (4) Diff between trees | * (4) Diff between trees | ||
* (4 - Does MXR offer this now? ''yes -MattN'' I see it only in MXR's links through to hgweb. Does it offer it internally as well?) Be able to refer to specific revisions of code somehow, so links don't rot. | * (4 - Does MXR offer this now? ''yes -MattN'' I see it only in MXR's links through to hgweb. Does it offer it internally as well?) Be able to refer to specific revisions of code somehow, so links don't rot. | ||
* (4) Show hash or other VCS revision identifier, perhaps with the "Built 6 days ago" indicator. (easy) | * <strike>(4) Show hash or other VCS revision identifier, perhaps with the "Built 6 days ago" indicator. (easy)</strike> | ||
* (4) Blame link should preserve the line-number fragment so it hops right to the highlighted line in hgweb or whatever. | * (4) Blame link should preserve the line-number fragment so it hops right to the highlighted line in hgweb or whatever. | ||
* (4) Be able to refer to certain ranges of code. | * (4) Be able to refer to certain ranges of code. | ||
| Line 105: | Line 105: | ||
* (1) Docs (mostly user-facing) about how the query language is spelled and what it means | * (1) Docs (mostly user-facing) about how the query language is spelled and what it means | ||
* (1) Don't require delimiters around a regex when entered into the Advanced Search Regex field | * <strike>(1) Don't require delimiters around a regex when entered into the Advanced Search Regex field</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>(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> | ||
* (1) Optional case sensitivity | * <strike>(1) Optional case sensitivity</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>(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> | ||
* (2) Mook (and Dave Townsend) switches trees a lot while looking at a single file in MXR. He'd like to be able to do that without losing his scroll position, as it typically lands him at a similar-enough place in the code that he can reorient himself. We'll add a tree switcher to the navigation panel, which appears when a file is being viewed. The nav panel will be pinned. | * (2) Mook (and Dave Townsend) switches trees a lot while looking at a single file in MXR. He'd like to be able to do that without losing his scroll position, as it typically lands him at a similar-enough place in the code that he can reorient himself. We'll add a tree switcher to the navigation panel, which appears when a file is being viewed. The nav panel will be pinned. | ||
* (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>(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> | ||
* (3) Enable integration with IDEs. I'm scoping to not include writing any plugins, but we should at least expose a well-documented public API. Then we can see what develops. We've had interest from a couple directions on this. | * (3) Enable integration with IDEs. I'm scoping to not include writing any plugins, but we should at least expose a well-documented public API. Then we can see what develops. We've had interest from a couple directions on this. | ||
* (3) Change line-number fragment from #l5 to just #5. Lowercase Ls look like ones. (easy) | * <strike>(3) Change line-number fragment from #l5 to just #5. Lowercase Ls look like ones. (easy)</strike> | ||
* (3) More obviously indicate when the search results are out of date. Dim them? | * <strike>(3) More obviously indicate when the search results are out of date. Dim them?</strike> [Added a spinner in the search field.] | ||
* (4) Count of search results, so we can use DXR to gather continuous metrics | * (4) Count of search results, so we can use DXR to gather continuous metrics | ||
* (4) Direct results: some love them, some hate them (because they just want to see the file pathname (don't we show that with the file? Is it bothersome because it's slow to load?)) | * (4) Direct results: some love them, some hate them (because they just want to see the file pathname (don't we show that with the file? Is it bothersome because it's slow to load?)) | ||
| Line 122: | Line 122: | ||
* (1) Clicking on macros seem to lead to some results, but definitely not the one I'd expect - the definition of the macro. | * (1) Clicking on macros seem to lead to some results, but definitely not the one I'd expect - the definition of the macro. | ||
* (3) Fix redundant "mozilla-central/search?tree=mozilla-central" | * <strike>(3) Fix redundant "mozilla-central/search?tree=mozilla-central"</strike> | ||
* (4) I find the call graph information to be wrong some of the time, I have never been able to tell why. See this query for example: http://dxr.mozilla.org/mozilla-central/search?q=%2Bcallers%3A%22mozilla%3A%3AAudioNodeStream%3A%3ASetDoubleParameter%28uint32_t%2C+double%29%22. Do you have any idea what the source of these problems is, and if yes, is that on track to get fixed? | * (4) I find the call graph information to be wrong some of the time, I have never been able to tell why. See this query for example: http://dxr.mozilla.org/mozilla-central/search?q=%2Bcallers%3A%22mozilla%3A%3AAudioNodeStream%3A%3ASetDoubleParameter%28uint32_t%2C+double%29%22. Do you have any idea what the source of these problems is, and if yes, is that on track to get fixed? | ||