From eea6d05af82753109f06f6a232d50b4be2b14c65 Mon Sep 17 00:00:00 2001 From: schneems Date: Wed, 18 Nov 2020 14:23:32 -0600 Subject: [PATCH] Rspec instructions in the README --- README.md | 16 +++++++++++++++- assets/syntax_search.gif | Bin 0 -> 54273 bytes 2 files changed, 15 insertions(+), 1 deletion(-) create mode 100644 assets/syntax_search.gif diff --git a/README.md b/README.md index e1cb58f..677a6cd 100644 --- a/README.md +++ b/README.md @@ -32,7 +32,7 @@ What if I told you, that there was a library that helped find your missing `def` How much would you pay for such a library? A million, a billion, a trillion? Well friends, today is your lucky day because you can use this library today for free! -## Installation +## Installation in your codebase To automatically search syntax errors when they happen, add this to your Gemfile: @@ -50,6 +50,16 @@ If your application is not calling `Bundler.require` then you must manually add require "syntax_search/auto" ``` +If you're using rspec add this to your `.rspec` file: + +``` +--require syntax_search/auto +``` + +> This is needed because people can execute a single test file via `bundle exec rspec path/to/file_spec.rb` and if that file has a syntax error, it won't load `spec_helper.rb` to trigger any requires. + +## Install the CLI + To get the CLI and manually search for syntax errors, install the gem: $ gem install syntax_search @@ -73,6 +83,10 @@ We know that source code that does not contain a syntax error can be parsed. We Since there can be multiple syntax errors in a document it's not good enough to check individual code blocks, we've got to check multiple at the same time. We will keep creating and adding new blocks to our search until we detect that our "frontier" (which contains all of our blocks) contains the syntax error. After this, we can stop our search and instead focus on filtering to find the smallest subset of blocks that contain the syntax error. +Here's an example: + +![](assets/syntax_search.gif) + ## How is source code broken up into smaller blocks? By definition source code with a syntax error in it cannot be parsed, so we have to guess how to chunk up the file into smaller pieces. Once we've split up the file we can safely rule out or zoom into a specific piece of code to determine the location of the syntax error. This libary uses indentation and empty lines to make guesses about what might be a "block" of code. Once we've got a chunk of code, we can test it. diff --git a/assets/syntax_search.gif b/assets/syntax_search.gif new file mode 100644 index 0000000000000000000000000000000000000000..26f33b7a121135496edf359f146273f5e9026c78 GIT binary patch literal 54273 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%0DQZ%)^Rlw$ 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

LxP>Yi`cLBP|8M3fJ0Q|ba&IZ=TH~{jd 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 literal 0 HcmV?d00001