From 3f6297ae5aa2be28189b4eada5fdbf1bfbe5fb06 Mon Sep 17 00:00:00 2001 From: Haroon Date: Sat, 31 Oct 2015 22:08:49 +0000 Subject: [PATCH] Prepping searching code doc --- docs/search.md | 56 +++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 55 insertions(+), 1 deletion(-) diff --git a/docs/search.md b/docs/search.md index 6b6cd22a..00686b75 100644 --- a/docs/search.md +++ b/docs/search.md @@ -184,7 +184,61 @@ var request = new SearchRepositoriesRequest("mvc client side framework") ## Search Code -**TODO** +To search for code using Octokit you need to create a `SearchCodeRequest` and populate it with the search criteria. + +```csharp +// Initialize a new instance of the SearchCodeRequest class with a search term +var request = new SearchCodeRequest("auth"); + +// Or we can restrict the search to a specific repo +var request = new SearchCodeRequest("auth", "dhh", "rails"); + +var result = await githubClient.Search.SearchCode(request); +``` + +Now we can further filter our search. + +```csharp +var request = new SearchCodeRequest("auth") +{ + // maybe we want to restrict the search to the file only + In = new[] { CodeInQualifier.File }, + + // or we can search the file and the path too + In = new[] { CodeInQualifier.File, CodeInQualifier.Path }, + + // how about we find a file based on a certain language + Language = Language.JavaScript, + + // do we want to search forks too? + Forks = true, + + // find files that are above 1000 bytes + Size = Range.GreaterThan(1000), + + // we may want to restrict the search to the path of a file + Path = "app/assets", + + // we may want to restrict the file based on file extension + Extension = "json", + + // restrict search to a specific file name + FileName = "app.json", + + // search within a users or orgs repo + User = "dhh" +}; +``` + +We can also sort our results by indexed or leave as null for best match. + +```csharp +var request = new SearchCodeRequest("dhh") +{ + // sort by last indexed + SortField = CodeSearchSort.Indexed +} +``` ## Search Users