Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
branch: master
Fetching contributors…

Cannot retrieve contributors at this time

53 lines (42 sloc) 1.343 kb
package DDG::Spice::SearchCode;
use strict;
use DDG::Spice;
name "SearchCode";
description "search through APIs and open source repositories";
source "Search[code]";
primary_example_queries "underscore.js bind";
secondary_example_queries "php print_r";
category "reference";
topics "programming";
code_url "";
icon_url "/i/";
attribution twitter => ["", "Ben Boyter"],
github => ["", "Ben Boyter"];
# known bad queries
my %skip_queries = map { $_ => undef } (
'sql server with',
my @triggers = share('triggers.txt')->slurp;
triggers startend => @triggers;
spice to => '$1&callback={{callback}}';
# use list of trigger words to create regex
# and strip newline characters
my $words = join "|", @triggers;
$words =~ s/\n//g;
handle query_raw => sub {
return if exists $skip_queries{lc($_)};
# don't trigger on:
# app (for Quixey)
# code/example (for CodeSearch)
# jobs (for Github jobs)
return if m/(^|\s+)(app|code|example|jobs)(\s+|$)/ig;
# make sure there is more to the
# query besides the trigger itself
if (m/$words/i){
my $query = $_;
return $query if length $_ > 1;
Jump to Line
Something went wrong with that request. Please try again.