grasp - JavaScript structural search, replace, and refactor

  •        4

JavaScript structural search, replace, and refactor. Demo, documentation, and more:


flow-parser : ^0.*
prelude-ls : ^1.1.2
cli-color : ^1.1.0
async : ^1.5.0
optionator : ^0.8.0
grasp-squery : ^0.4.0
grasp-equery : ^0.4.0
grasp-syntax-javascript : ^0.2.0
levn : ^0.3.0
minimatch : ^3.0.3
slash : ^1.0.0



Related Projects

replace - [UNMAINTAINED] Command line search and replace utility

  •    Javascript

You can now use replace and search from the command line.

Evotiva's DotNetNuke Search and Replace Module

  •    CSharp

A DotNetNuke Search and Replace tool. It allows you to search (and optionally replace) text within any table in the DotNetNuke database. More at

csart - Clever-Search-And-Replace-Text

  •    Python

csart - Clever-Search-And-Replace-Text Search, find and replace text in named files or recursive in all directories (-r). If choosen, strings are only replaced if another key-string occures in the line (-w)

Xml search and replace

  •    CSharp

XmlSearchReplace is a free commandline utility to replace text inside an xml document. It gives the user control over where in the xml document the search should be done. The tool allows users to search and replace texts only inside xml element/attribute name and/or value.

Search-Replace-DB - A PHP search replace tool for quickly modifying a string throughout a database

  •    PHP

This script was made to aid the process of migrating PHP and MySQL based websites. It has additional features for WordPress and Drupal but works for most other similar CMSes. If you would like Search Replace DB to detect your WordPress installation, you should install it within a new subfolder within your WordPress installation.

csso - CSS minifier with structural optimizations

  •    Javascript

CSSO (CSS Optimizer) is a CSS minifier. It performs three sort of transformations: cleaning (removing redundant), compression (replacement for shorter form) and restructuring (merge of declarations, rulesets and so on). As a result your CSS becomes much smaller. Warning: CSSO uses early versions of CSSTree that still in active development. CSSO doesn't guarantee API behind syntax field or AST format will not change in future releases of CSSO, since it's subject to change in CSSTree. Be carefull with CSSO updates if you use syntax API until this warning removal.

webpack-cli - Webpack's Command Line Interface

  •    Javascript

Webpack CLI encapsulates all code related to CLI handling. It captures options and sends them to webpack compiler. You can also find functionality for initializing a project and migrating between versions. For the time being, it is backwards-compatible with the CLI included in webpack itself.The migrate feature eases the transition from version 1 to version 2. migrate also allows users to switch to the new version of webpack without having to extensively refactor.

gulp-replace - A string replace plugin for gulp

  •    Javascript

gulp-replace can be called with a string or regex. The string to search for.

subs : a search amp; replace utility

  •    C++

subs is a command line utility for search and replace a text into many files in one directory that match the selected match.

RegEx Search/Replace Tool

  •    Java

Free GUI Based Search and Replace Tool using Regular Expression

dxr - Powerful search for large codebases

  •    Python

DXR is a code search and navigation tool aimed at making sense of large projects like Firefox. It supports full-text and regex searches as well as structural queries like "Find all the callers of this function." Behind the scenes, it uses trigram indices, elasticsearch, and static analysis data collected by instrumented compilers to make searches faster and more accurate than is possible with simple tools like grep. DXR also exposes a plugin API through which understanding of more languages can be added.

cello - Genetic circuit design automation

  •    Java

The Cello input is a high-level logic specification written in Verilog, a hardware description language. The code is parsed to generate a truth table, and logic synthesis produces a circuit diagram with the genetically available gate types to implement the truth table. The gates in the circuit are assigned using experimentally characterized genetic gates. In assignment, a predicted circuit score guides a breadth-first search, or a Monte Carlo simulated annealing search. The assignment with the highest score is chosen, and this assignment can be physically implemented in a combinatorial number of different genetic layouts. The Eugene language is used for rule-based constrained combinatorial design of one or more final DNA sequence(s) for the designed circuit. Verilog programs start with a module keyword, followed by the module name, followed by the list of output and input wire names. Within a module definition, Cello currently parses three forms of Verilog: case statements, assign statements, and structural elements (examples below). Verilog code can be entered using a text editor and saved with a .v extension.

espree - An Esprima-compatible JavaScript parser

  •    Javascript

Espree started out as a fork of Esprima v1.2.2, the last stable published released of Esprima before work on ECMAScript 6 began. Espree is now built on top of Acorn, which has a modular architecture that allows extension of core functionality. The goal of Espree is to produce output that is similar to Esprima with a similar API so that it can be used in place of Esprima. The primary goal is to produce the exact same AST structure and tokens as Esprima, and that takes precedence over anything else. (The AST structure being the ESTree API with JSX extensions.) Separate from that, Espree may deviate from what Esprima outputs in terms of where and how comments are attached, as well as what additional information is available on AST nodes. That is to say, Espree may add more things to the AST nodes than Esprima does but the overall AST structure produced will be the same.

qone - Next-generation web query language, extend .NET LINQ for javascript.

  •    Javascript

Recently, it has just changed some bug of the Excel formula of the Tencent document, mainly modifying the parser of the formula. After getting code string, you can run (JIT) dynamically, such as using Eval in JS, Eval can retain context information, the disadvantage is that the execution code contains compiler code, and it is unsafe, and so on. After getting code string, you can also use the generated code string to run (AOT) directly, and the disadvantage is to rely on the build tool or editor plug-in to dynamically replace the source code.

cppast - Library to parse and work with the C++ AST

  •    C++

Library interface to the C++ AST — parse source files, synthesize entities, get documentation comments and generate code. If you're writing a tool that needs access to the C++ AST (i.e. documentation generator, reflection library, …), your only option apart from writing your own parser is to use clang. It offers three interfaces for tools, but the only one that really works for standalone applications is libclang. However, libclang has various limitations and does not expose the entire AST.

csstree - A tool set for working with CSS including fast detailed parser, walker, generator and lexer based on W3C specs and browser implementations

  •    Javascript

CSSTree is a tool set to work with CSS, including fast detailed parser (string->AST), walker (AST traversal), generator (AST->string) and lexer (validation and matching) based on knowledge of spec and browser implementations. The main goal is to be efficient and W3C spec compliant, with focus on CSS analyzing and source-to-source transforming tasks. NOTE: The project is in alpha stage since some parts need further improvements, AST format and API are subjects to change. However it's stable enough and used by packages like CSSO (CSS minifier) and SVGO (SVG optimizer) in production.

ast - This is the AT&T Software Technology ast software download site from AT&T Research

  •    C

This repository contains the AT&T Software Technology (AST) toolkit from AT&T Research. As of November 2017 the development focus has been shifted to the ksh (or ksh93) command and supporting code required to build it. The non-ksh code of the AST project is no longer being actively maintained. If you are interested in the non-ksh code see below for details on which branches contain the full AST code base.

Recursive Search and Replace

  •    Java

SandR is a Recursive Regex Search and Replacement utility. It works on files or directories recursively. It supports Java-style Regular Expression in Search terms; it supports auto-detection of character encoding of the files. SandR is written in Java.

FAR - Find And Replace

  •    Java

Search and replace operations on file content accross multiple files. Recursive operations within entire directory trees. FAR comes with support for regular expressions (regex) over multiple lines, automatic backup and various character encodings.

flashtext - Extract Keywords from sentence or Replace keywords in sentences.

  •    Python

This module can be used to replace keywords in sentences or extract keywords from sentences. It is based on the FlashText algorithm. Documentation can be found at FlashText Read the Docs.