From afeb790ea148ce7dfa156fad5d55cabf645f26be Mon Sep 17 00:00:00 2001 From: Guillaume Gomez Date: Sat, 16 Jun 2018 14:14:18 +0200 Subject: [PATCH 1/3] Fix macro missing from doc search --- src/librustdoc/html/static/main.js | 5 ++++- src/test/rustdoc-js/macro-check.js | 20 ++++++++++++++++++++ src/tools/rustdoc-js/tester.js | 2 +- 3 files changed, 25 insertions(+), 2 deletions(-) create mode 100644 src/test/rustdoc-js/macro-check.js diff --git a/src/librustdoc/html/static/main.js b/src/librustdoc/html/static/main.js index bb996e00d352a..d0db6806c82f3 100644 --- a/src/librustdoc/html/static/main.js +++ b/src/librustdoc/html/static/main.js @@ -160,6 +160,7 @@ // used for special search precedence var TY_PRIMITIVE = itemTypes.indexOf("primitive"); var TY_KEYWORD = itemTypes.indexOf("keyword"); + var TY_MACRO = itemTypes.indexOf("macro"); onEach(document.getElementsByClassName('js-only'), function(e) { removeClass(e, 'js-only'); @@ -465,9 +466,11 @@ var res = buildHrefAndPath(obj); obj.displayPath = pathSplitter(res[0]); obj.fullPath = obj.displayPath + obj.name; + // To be sure than it some items aren't considered as duplicate. if (obj.ty === TY_KEYWORD) { - // To be sure than it isn't considered as duplicate with items. obj.fullPath += '|k'; + } else if (obj.ty === TY_MACRO) { + obj.fullPath += '|m'; } obj.href = res[1]; out.push(obj); diff --git a/src/test/rustdoc-js/macro-check.js b/src/test/rustdoc-js/macro-check.js new file mode 100644 index 0000000000000..fb6168843334e --- /dev/null +++ b/src/test/rustdoc-js/macro-check.js @@ -0,0 +1,20 @@ +// Copyright 2018 The Rust Project Developers. See the COPYRIGHT +// file at the top-level directory of this distribution and at +// http://rust-lang.org/COPYRIGHT. +// +// Licensed under the Apache License, Version 2.0 or the MIT license +// , at your +// option. This file may not be copied, modified, or distributed +// except according to those terms. + +// ignore-order + +const QUERY = 'panic'; + +const EXPECTED = { + 'others': [ + { 'path': 'std', 'name': 'panic', ty: 14 }, // 15 is for macros + { 'path': 'std', 'name': 'panic', ty: 0 }, // 0 is for modules + ], +}; diff --git a/src/tools/rustdoc-js/tester.js b/src/tools/rustdoc-js/tester.js index 3c1fceaf8faa8..9567c46600482 100644 --- a/src/tools/rustdoc-js/tester.js +++ b/src/tools/rustdoc-js/tester.js @@ -233,7 +233,7 @@ function main(argv) { var arraysToLoad = ["itemTypes"]; var variablesToLoad = ["MAX_LEV_DISTANCE", "MAX_RESULTS", - "TY_PRIMITIVE", "TY_KEYWORD", + "TY_PRIMITIVE", "TY_KEYWORD", "TY_MACRO", "levenshtein_row2"]; // execQuery first parameter is built in getQuery (which takes in the search input). // execQuery last parameter is built in buildIndex. From f4ea46a5b36505464825219abcf0106506de2b20 Mon Sep 17 00:00:00 2001 From: Guillaume Gomez Date: Mon, 18 Jun 2018 21:39:46 +0200 Subject: [PATCH 2/3] Extend collision prevention to every type --- src/librustdoc/html/static/main.js | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/src/librustdoc/html/static/main.js b/src/librustdoc/html/static/main.js index d0db6806c82f3..27fb6d1a2a29e 100644 --- a/src/librustdoc/html/static/main.js +++ b/src/librustdoc/html/static/main.js @@ -467,11 +467,7 @@ obj.displayPath = pathSplitter(res[0]); obj.fullPath = obj.displayPath + obj.name; // To be sure than it some items aren't considered as duplicate. - if (obj.ty === TY_KEYWORD) { - obj.fullPath += '|k'; - } else if (obj.ty === TY_MACRO) { - obj.fullPath += '|m'; - } + obj.fullPath += '|' + obj.ty; obj.href = res[1]; out.push(obj); if (out.length >= MAX_RESULTS) { From e3b258324bb3adf88006667ee5d503785eebd62f Mon Sep 17 00:00:00 2001 From: Guillaume Gomez Date: Mon, 25 Jun 2018 21:47:44 +0200 Subject: [PATCH 3/3] Remove unused variable --- src/librustdoc/html/static/main.js | 1 - src/tools/rustdoc-js/tester.js | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/src/librustdoc/html/static/main.js b/src/librustdoc/html/static/main.js index 27fb6d1a2a29e..01eb1ce7407be 100644 --- a/src/librustdoc/html/static/main.js +++ b/src/librustdoc/html/static/main.js @@ -160,7 +160,6 @@ // used for special search precedence var TY_PRIMITIVE = itemTypes.indexOf("primitive"); var TY_KEYWORD = itemTypes.indexOf("keyword"); - var TY_MACRO = itemTypes.indexOf("macro"); onEach(document.getElementsByClassName('js-only'), function(e) { removeClass(e, 'js-only'); diff --git a/src/tools/rustdoc-js/tester.js b/src/tools/rustdoc-js/tester.js index 9567c46600482..3c1fceaf8faa8 100644 --- a/src/tools/rustdoc-js/tester.js +++ b/src/tools/rustdoc-js/tester.js @@ -233,7 +233,7 @@ function main(argv) { var arraysToLoad = ["itemTypes"]; var variablesToLoad = ["MAX_LEV_DISTANCE", "MAX_RESULTS", - "TY_PRIMITIVE", "TY_KEYWORD", "TY_MACRO", + "TY_PRIMITIVE", "TY_KEYWORD", "levenshtein_row2"]; // execQuery first parameter is built in getQuery (which takes in the search input). // execQuery last parameter is built in buildIndex.