{"schemaVersion":1,"contentVersion":"3.4.0","id":"boundary.3","languages":{"javascript":{"id":"boundary.3","title":"Checkpoint: revise a notice","moduleName":"Words and quotations","tips":"","concept":"<p class=\"lead\">Update the current notice and leave the archive unchanged.</p><p>Prerequisites: Edit a whole word and Keep the quotation. Use the desired result to see what should change. Choose your own commands.</p><p>Try without hints first. Help remains available, and feedback shows which techniques were recorded.</p><p>For more practice, try another example or repeat this checkpoint with a different example language.</p>","teaches":["textobject:iw","textobject:aw","textobject:i\""],"introduces":[],"constraints":[],"drills":[{"task":"Prepare the notice: set the status to final, the message to “Ready to publish”, and remove “very” with its extra space. Preserve the archive exactly. Choose your own commands.","hint":"There are three local changes and one protected line. Compare words, quotation contents and spaces separately.","mode":"jsx","start":"const status = \"draft\";\nconst message = \"Waiting for approval\";\nconst note = \"A very short notice.\";\nconst archive = \"draft: Waiting for approval\";","startCursor":{"line":0,"ch":18},"paths":[{"keys":["c","i","w","final","<Esc>","2","G","0","1","9","l","c","i","\"","Ready to publish","<Esc>","3","G","0","1","7","l","d","a","w"],"tier":"idiomatic","technique":"textobject:iw","core":["textobject:iw","textobject:aw","textobject:i\""],"note":"One possible route names each boundary and leaves the archived text alone."}],"target":"const status = \"final\";\nconst message = \"Ready to publish\";\nconst note = \"A short notice.\";\nconst archive = \"draft: Waiting for approval\";","language":"javascript","evidence":"checkpoint","canonicalKey":"boundary.3#0","canonicalFingerprint":"l8kkx6"},{"task":"Prepare the notice: set the status to public, the message to “Ready to publish”, and remove “today” with its extra space. Preserve the archive exactly. Choose your own commands.","hint":"There are three local changes and one protected line. Compare words, quotation contents and spaces separately.","mode":"jsx","start":"const archive = \"private: Waiting for approval\";\nconst note = \"Publish the notice today\";\nconst status = \"private\";\nconst message = \"Waiting for approval\";","startCursor":{"line":2,"ch":18},"paths":[{"keys":["c","i","w","public","<Esc>","4","G","0","1","9","l","c","i","\"","Ready to publish","<Esc>","2","G","0","3","4","l","d","a","w"],"tier":"idiomatic","technique":"textobject:iw","core":["textobject:iw","textobject:aw","textobject:i\""],"note":"One possible route names each boundary and leaves the archived text alone."}],"target":"const archive = \"private: Waiting for approval\";\nconst note = \"Publish the notice\";\nconst status = \"public\";\nconst message = \"Ready to publish\";","language":"javascript","evidence":"checkpoint","canonicalKey":"boundary.3#1","canonicalFingerprint":"177s6wg"},{"task":"Prepare the notice: set the status to evening, the message to “Ready to publish”, and remove “Please” with its extra space. Preserve the archive exactly. Choose your own commands.","hint":"There are three local changes and one protected line. Compare words, quotation contents and spaces separately.","mode":"jsx","start":"const message = \"Waiting for approval\";\nconst archive = \"morning: Waiting for approval\";\nconst note = \"Please publish the notice.\";\nconst status = \"morning\";","startCursor":{"line":3,"ch":18},"paths":[{"keys":["c","i","w","evening","<Esc>","1","G","0","1","9","l","c","i","\"","Ready to publish","<Esc>","3","G","0","1","5","l","d","a","w"],"tier":"idiomatic","technique":"textobject:iw","core":["textobject:iw","textobject:aw","textobject:i\""],"note":"One possible route names each boundary and leaves the archived text alone."}],"target":"const message = \"Ready to publish\";\nconst archive = \"morning: Waiting for approval\";\nconst note = \"publish the notice.\";\nconst status = \"evening\";","language":"javascript","evidence":"checkpoint","canonicalKey":"boundary.3#2","canonicalFingerprint":"1i2k1tf"}]},"python":{"id":"boundary.3","title":"Checkpoint: revise a notice","moduleName":"Words and quotations","tips":"","concept":"<p class=\"lead\">Update the current notice and leave the archive unchanged.</p><p>Prerequisites: Edit a whole word and Keep the quotation. Use the desired result to see what should change. Choose your own commands.</p><p>Try without hints first. Help remains available, and feedback shows which techniques were recorded.</p><p>For more practice, try another example or repeat this checkpoint with a different example language.</p>","teaches":["textobject:iw","textobject:aw","textobject:i\""],"introduces":[],"constraints":[],"drills":[{"task":"Prepare the notice: set the status to final, the message to “Ready to publish”, and remove “very” with its extra space. Preserve the archive exactly. Choose your own commands.","hint":"There are three local changes and one protected line. Compare words, quotation contents and spaces separately.","mode":"python","start":"status = \"draft\"\nmessage = \"Waiting for approval\"\nnote = \"A very short notice.\"\narchive = \"draft: Waiting for approval\"","startCursor":{"line":0,"ch":12},"paths":[{"keys":["c","i","w","final","<Esc>","2","G","0","1","3","l","c","i","\"","Ready to publish","<Esc>","3","G","0","1","1","l","d","a","w"],"tier":"idiomatic","technique":"textobject:iw","core":["textobject:iw","textobject:aw","textobject:i\""],"note":"One possible route names each boundary and leaves the archived text alone."}],"target":"status = \"final\"\nmessage = \"Ready to publish\"\nnote = \"A short notice.\"\narchive = \"draft: Waiting for approval\"","language":"python","evidence":"checkpoint","canonicalKey":"boundary.3#0","canonicalFingerprint":"l8kkx6"},{"task":"Prepare the notice: set the status to public, the message to “Ready to publish”, and remove “today” with its extra space. Preserve the archive exactly. Choose your own commands.","hint":"There are three local changes and one protected line. Compare words, quotation contents and spaces separately.","mode":"python","start":"archive = \"private: Waiting for approval\"\nnote = \"Publish the notice today\"\nstatus = \"private\"\nmessage = \"Waiting for approval\"","startCursor":{"line":2,"ch":12},"paths":[{"keys":["c","i","w","public","<Esc>","4","G","0","1","3","l","c","i","\"","Ready to publish","<Esc>","2","G","0","2","8","l","d","a","w"],"tier":"idiomatic","technique":"textobject:iw","core":["textobject:iw","textobject:aw","textobject:i\""],"note":"One possible route names each boundary and leaves the archived text alone."}],"target":"archive = \"private: Waiting for approval\"\nnote = \"Publish the notice\"\nstatus = \"public\"\nmessage = \"Ready to publish\"","language":"python","evidence":"checkpoint","canonicalKey":"boundary.3#1","canonicalFingerprint":"177s6wg"},{"task":"Prepare the notice: set the status to evening, the message to “Ready to publish”, and remove “Please” with its extra space. Preserve the archive exactly. Choose your own commands.","hint":"There are three local changes and one protected line. Compare words, quotation contents and spaces separately.","mode":"python","start":"message = \"Waiting for approval\"\narchive = \"morning: Waiting for approval\"\nnote = \"Please publish the notice.\"\nstatus = \"morning\"","startCursor":{"line":3,"ch":12},"paths":[{"keys":["c","i","w","evening","<Esc>","1","G","0","1","3","l","c","i","\"","Ready to publish","<Esc>","3","G","0","9","l","d","a","w"],"tier":"idiomatic","technique":"textobject:iw","core":["textobject:iw","textobject:aw","textobject:i\""],"note":"One possible route names each boundary and leaves the archived text alone."}],"target":"message = \"Ready to publish\"\narchive = \"morning: Waiting for approval\"\nnote = \"publish the notice.\"\nstatus = \"evening\"","language":"python","evidence":"checkpoint","canonicalKey":"boundary.3#2","canonicalFingerprint":"1i2k1tf"}]},"text":{"id":"boundary.3","title":"Checkpoint: revise a notice","moduleName":"Words and quotations","tips":"","concept":"<p class=\"lead\">Update the current notice and leave the archive unchanged.</p><p>Prerequisites: Edit a whole word and Keep the quotation. Use the desired result to see what should change. Choose your own commands.</p><p>Try without hints first. Help remains available, and feedback shows which techniques were recorded.</p><p>For more practice, try another example or repeat this checkpoint with a different example language.</p>","teaches":["textobject:iw","textobject:aw","textobject:i\""],"introduces":[],"constraints":[],"drills":[{"task":"Prepare the notice: set the status to final, the message to “Ready to publish”, and remove “very” with its extra space. Preserve the archive exactly. Choose your own commands.","hint":"There are three local changes and one protected line. Compare words, quotation contents and spaces separately.","mode":"text/plain","start":"Status: draft\nMessage: \"Waiting for approval\"\nNote: A very short notice.\nArchive: \"draft: Waiting for approval\"","startCursor":{"line":0,"ch":10},"paths":[{"keys":["c","i","w","final","<Esc>","2","G","0","1","2","l","c","i","\"","Ready to publish","<Esc>","3","G","0","9","l","d","a","w"],"tier":"idiomatic","technique":"textobject:iw","core":["textobject:iw","textobject:aw","textobject:i\""],"note":"One possible route names each boundary and leaves the archived text alone."}],"target":"Status: final\nMessage: \"Ready to publish\"\nNote: A short notice.\nArchive: \"draft: Waiting for approval\"","language":"text","evidence":"checkpoint","canonicalKey":"boundary.3#0","canonicalFingerprint":"l8kkx6"},{"task":"Prepare the notice: set the status to public, the message to “Ready to publish”, and remove “today” with its extra space. Preserve the archive exactly. Choose your own commands.","hint":"There are three local changes and one protected line. Compare words, quotation contents and spaces separately.","mode":"text/plain","start":"Archive: \"private: Waiting for approval\"\nNote: Publish the notice today\nStatus: private\nMessage: \"Waiting for approval\"","startCursor":{"line":2,"ch":10},"paths":[{"keys":["c","i","w","public","<Esc>","4","G","0","1","2","l","c","i","\"","Ready to publish","<Esc>","2","G","0","2","6","l","d","a","w"],"tier":"idiomatic","technique":"textobject:iw","core":["textobject:iw","textobject:aw","textobject:i\""],"note":"One possible route names each boundary and leaves the archived text alone."}],"target":"Archive: \"private: Waiting for approval\"\nNote: Publish the notice\nStatus: public\nMessage: \"Ready to publish\"","language":"text","evidence":"checkpoint","canonicalKey":"boundary.3#1","canonicalFingerprint":"177s6wg"},{"task":"Prepare the notice: set the status to evening, the message to “Ready to publish”, and remove “Please” with its extra space. Preserve the archive exactly. Choose your own commands.","hint":"There are three local changes and one protected line. Compare words, quotation contents and spaces separately.","mode":"text/plain","start":"Message: \"Waiting for approval\"\nArchive: \"morning: Waiting for approval\"\nNote: Please publish the notice.\nStatus: morning","startCursor":{"line":3,"ch":10},"paths":[{"keys":["c","i","w","evening","<Esc>","1","G","0","1","2","l","c","i","\"","Ready to publish","<Esc>","3","G","0","7","l","d","a","w"],"tier":"idiomatic","technique":"textobject:iw","core":["textobject:iw","textobject:aw","textobject:i\""],"note":"One possible route names each boundary and leaves the archived text alone."}],"target":"Message: \"Ready to publish\"\nArchive: \"morning: Waiting for approval\"\nNote: publish the notice.\nStatus: evening","language":"text","evidence":"checkpoint","canonicalKey":"boundary.3#2","canonicalFingerprint":"1i2k1tf"}]}}}