Note
Este artigo aborda a sintaxe da pesquisa de código herdada, que você só deve usar no ponto de extremidade da API REST para pesquisar código.
Para obter informações sobre a sintaxe de pesquisa de código que você pode usar no GitHub, confira "Entender a sintaxe de pesquisa de código do GitHub".
Você pode pesquisar globalmente em todo o GitHub ou definir o escopo da sua pesquisa para uma organização ou um repositório específico. Para obter mais informações, confira "Sobre a pesquisa no GitHub".
Você pode pesquisar códigos usando somente estes qualificadores de pesquisa de código. Qualificadores de pesquisa específicos para repositórios, usuários ou commits não funcionarão com a pesquisa de códigos.
Tip
- Para ver uma lista de sintaxes de pesquisa que você pode adicionar a qualquer qualificador de pesquisa para aprimorar ainda mais os resultados, confira "Noções básicas de sintaxe de pesquisa".
- Use aspas em termos de pesquisa com várias palavras. Por exemplo, caso deseje pesquisar problemas com o rótulo "Em andamento", pesquise
label:"in progress"
. A pesquisa não faz distinção entre maiúsculas e minúsculas.
Considerações sobre pesquisa de códigos
Devido à complexidade da pesquisa de códigos, a execução das pesquisas apresenta algumas restrições:
- Você deve estar conectado a uma conta pessoal no GitHub para pesquisar o código em todos os repositórios públicos.
- O código em forks só é pesquisável se o fork tiver mais estrelas do que o repositório pai e o repositório com fork tiver pelo menos uma commit enviada por push após ser criada. Os forks com menos estrelas do que o repositório pai ou sem commits não são indexados para pesquisa de código. Para incluir forks com mais estrelas do que os respectivos pais e pelo menos uma commit enviada por push nos resultados da busca, adicione
fork:true
oufork:only
à consulta. Para obter mais informações, confira "Pesquisar em bifurcações". - Somente o branch padrão é indexado para pesquisa de código.
- Somente arquivos com menos de 384 KB são pesquisados.
- Até 4 mil repositórios privados são pesquisáveis. Esses 4 mil repositórios serão os mais recentemente atualizados dos primeiros 10 mil repositórios privados aos quais você tem acesso.
- Somente os repositórios com menos de 500 mil arquivos são pesquisáveis.
- Apenas repositórios que tiveram atividade ou apareceram nos resultados de pesquisa do último ano são pesquisáveis.
- Exceto em pesquisas
filename
, você sempre precisa incluir, pelo menos, um termo de pesquisa ao pesquisar o código-fonte. Por exemplo, a pesquisa delanguage:javascript
não é válida, ao contrário deamazing language:javascript
. - Os resultados da pesquisa exibem no máximo dois fragmentos do mesmo arquivo, mas o arquivo pode ter mais resultados.
- Não é possível usar os seguintes caracteres curinga como parte da consulta de pesquisa:
. , : ; / \ ` ' " = * ! ? # $ & + ^ | ~ < > ( ) { } [ ] @
. A pesquisa simplesmente ignora esses símbolos.
Pesquisar pelo conteúdo ou caminho do arquivo
Com o qualificador in
, você pode restringir a pesquisa ao conteúdo do arquivo de código-fonte, ao caminho do arquivo ou a ambos. Quando você omite esse qualificador, somente o conteúdo do arquivo é pesquisado.
Qualificador | Exemplo |
---|---|
in:file | octocat in:file corresponde ao código em que "octocat" aparece no conteúdo do arquivo. |
in:path | octocat in:path corresponde ao código em que "octocat" aparece no caminho do arquivo. |
in:file,path | octocat in:file,path corresponde ao código em que "octocat" aparece no conteúdo ou no caminho do arquivo. |
Pesquisar nos repositórios de um usuário ou uma organização
Para pesquisar o código em todos os repositórios pertencentes a uma organização ou a um usuário específico, use o qualificador user
ou org
. Para pesquisar o código em um repositório específico, use o qualificador repo
.
Qualificador | Exemplo |
---|---|
user:USERNAME | user:defunkt extension:rb corresponde ao código de @defunkt que termina com .rb. |
org:ORGNAME | org:github extension:js corresponde ao código do GitHub que termina com .js. |
repo:USERNAME/REPOSITORY | repo:mozilla/shumway extension:as corresponde ao código do projeto shumway de @mozilla que termina com .as. |
Pesquisar por local do arquivo
Use o qualificador path
para pesquisar o código-fonte que aparece em um local específico em um repositório. Use path:/
para pesquisar os arquivos localizados no nível raiz de um repositório. Ou especifique o nome ou o caminho do diretório para pesquisar os arquivos presentes nesse diretório e em seus subdiretórios.
Qualificador | Exemplo |
---|---|
path:/ | octocat filename:readme path:/ corresponde aos arquivos leiame com a palavra "octocat" localizada no nível raiz de um repositório. |
path:DIRECTORY | form path:cgi-bin language:perl corresponde aos arquivos Perl com a palavra "form" no diretório cgi-bin ou em um dos subdiretórios. |
path:PATH/TO/DIRECTORY | console path:app/public language:javascript corresponde aos arquivos JavaScript com a palavra "console" no diretório app/public ou em um dos subdiretórios (mesmo que eles estejam em app/public/js/form-validators). |
Pesquisar por linguagem
Você pode pesquisar código com base na linguagem na qual ele foi escrito. O qualificador language
pode ser o nome da linguagem ou o alias. Para ver a lista completa das linguagens com suporte acompanhadas dos respectivos nomes e aliases, confira o repositório github-linguist/linguist.
Qualificador | Exemplo |
---|---|
language:LANGUAGE | element language:xml size:100 corresponde ao código com a palavra "element" que está marcado como sendo XML e tem exatamente 100 bytes. |
language:LANGUAGE | display language:scss corresponde ao código com a palavra "display" que está marcado como SCSS. |
language:LANGUAGE | org:mozilla language:markdown corresponde ao código de todos os repositórios de @mozilla marcados como Markdown. |
Pesquisar por tamanho do arquivo
Use o qualificador size
para pesquisar o código-fonte com base no tamanho do arquivo em que o código está. O qualificador size
usa os qualificadores maior que, menor que e intervalo para filtrar os resultados com base no tamanho do byte do arquivo no qual o código é encontrado.
Qualificador | Exemplo |
---|---|
size:n | function size:>10000 language:python corresponde ao código com a palavra "function", escrito em Python, em arquivos com mais de 10 KB. |
Pesquisar por nome do arquivo
O qualificador filename
corresponde aos arquivos de código com determinado nome de arquivo. Você também pode localizar um arquivo em um repositório usando o localizador de arquivos. Para obter mais informações, confira "Localizar arquivos no GitHub".
Qualificador | Exemplo |
---|---|
filename:FILENAME | filename:linguist corresponde aos arquivos chamados "linguist". |
filename:FILENAME | filename:.vimrc commands corresponde aos arquivos .vimrc com a palavra "commands". |
filename:FILENAME | filename:test_helper path:test language:ruby corresponde aos arquivos Ruby chamados test_helper do diretório test. |
Pesquisar por extensão do arquivo
O qualificador extension
corresponde aos arquivos de código com determinada extensão de arquivo.
Qualificador | Exemplo |
---|---|
extension:EXTENSION | form path:cgi-bin extension:pm corresponde ao código com a palavra "form", em cgi-bin, com a extensão de arquivo .pm. |
extension:EXTENSION | icon size:>200000 extension:css corresponde aos arquivos com mais de 200 KB que terminam com .css e têm a palavra "icon". |