Comments (6)
I'm going to support multiple ?glob=
querystring arguments which will be passed to rg
.
from datasette-ripgrep.
-g, --glob <GLOB>...
Include or exclude files and directories for searching that match the given
glob. This always overrides any other ignore logic. Multiple glob flags may be
used. Globbing rules match .gitignore globs. Precede a glob with a ! to exclude
it. If multiple globs match a file or directory, the glob given later in the
command line takes precedence.
When this flag is set, every file and directory is applied to it to test for
a match. So for example, if you only want to search in a particular directory
'foo', then *-g foo* is incorrect because 'foo/bar' does not match the glob
'foo'. Instead, you should use *-g 'foo/**'*.
from datasette-ripgrep.
I'm a bit confused about what is meant to happen if you pass -g
multiple times.
Globs are interpreted in exactly the same way as
.gitignore
patterns. That is, later globs will override earlier globs. For example, the following command will search only*.toml
files:$ rg clap -g '!*.toml' -g '*.toml'
I was expecting these to act as "AND" rules - so -g '*.py' -g 'datasette/**'
would return all .py
files in my datasette/
directory. That doesn't appear to be happening - I get back results for all .py
files ignoring whether they are inside datasette/
no matter which order I pass the -g
flags in.
from datasette-ripgrep.
I'm going to support ?glob=&glob=
in the querystring (as an advanced power user feature) but I'm not going to expose it in the UI, since it doesn't behave the way I expected it to.
from datasette-ripgrep.
Those new examples:
- with.*AsyncClient - regular expression search for
with.*AsyncClient
- .plugin_config, literal=on - a non-regular expression search for
.plugin_config(
- with.*AsyncClient glob=datasette/** - search for that pattern only within the
datasette/
top folder - test glob=!*.html - search for the string
test
but exclude results in HTML files
from datasette-ripgrep.
from datasette-ripgrep.
Related Issues (20)
- Ripgrep should be called ripgrep everywhere
- Try basic faceted search using "rg ... -l -c"
- Option to ignore case HOT 1
- Show context around search matches
- Use :target to highlight linked line, instead of JavaScript
- Expand config docs HOT 1
- Add this to the Datasette navigation menu
- Optionally use "ripgrep-all" HOT 1
- JSON API HOT 2
- Add various simonw/x-datasette repos to the demo HOT 1
- Add some of my powered-by-datasette sites to the demo HOT 1
- Use white-space: pre-wrap for the results HOT 1
- Truncate really long lines, but let user click to un-truncate them HOT 2
- Add syntax highlighting HOT 1
- Copy results as Markdown feature HOT 3
- Fix tests for latest Datasette
- Demo has gone stale HOT 3
- Show a gap between ranges of lines in search results HOT 3
- Only show navigation item if plugin is configured
- Missing `request` object when rendering template
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from datasette-ripgrep.