Giter Site home page Giter Site logo

knut's Introduction

Knut

Knut is an automation tool for code transformation using scripts. The main use case is for migration, but it could be used elsewhere.

The scripts are written either in javascript or QML languages, the latter being able to display a user interface to customize some parts of the application. The script API is available in this documentation, and ranges from normal text transformations (find and replace) to getting contextual information based on the file language (using TreeSitter.

Knut can be used via a command line interface or a user interface.

Requirements

Knut is using Language Server Protocol servers for the GUI. It is not used for the scripts, so if you are using Knut with the command line interface, you don't need it.

For C++, if you are using clangd, note that some tests are disabled for clangd version < 13.

Licensing

Knut is © Klarälvdalens Datakonsult AB (KDAB) and is licensed according to the terms of GPL 3.0.

Contact KDAB at [email protected] to inquire about licensing options.

Knut includes different 3rd party software, you can find the list and licenses for them in the 3RDPARTY document.

Building

To build Knut, you will need an up-to-date C++ & Qt toolchain. This includes:

Download Knut

To clone the code, simply run:

git clone https://github.com/KDAB/knut.git && cd knut

If you are a member of KDAB and have access to our private repositories, you may then simply run:

git submodule update --init --recursive

To download all dependencies.

If you are a contributor outside KDAB, you will need to download all submodules in the 3rdparty/ folder, without the private dependencies in the 3rdparty-kdab/ folder.

git submodule update --init --recursive -- 3rdparty/*

Running CMake

After that you can build Knut with CMake via one of the presets. E.g.:

cmake --preset=release
cmake --build --preset=release

Take a look at CMakePreset.json for a list of available presets.

Running Knut

After building with CMake, run the knut binary from the bin folder within your build directory.

e.g.:

./build-release/bin/knut

About KDAB

Knut is written and maintained by Klarälvdalens Datakonsult AB (KDAB).

The KDAB Group is the global No.1 software consultancy for Qt, C++ and OpenGL applications across desktop, embedded and mobile platforms.

The KDAB Group provides consulting and mentoring for developing Qt applications from scratch and in porting from all popular and legacy frameworks to Qt. We continue to help develop parts of Qt and are one of the major contributors to the Qt Project. We can give advanced or standard training anywhere around the globe on Qt as well as C++, OpenGL, 3D and more.

Please visit https://www.kdab.com to meet the people who write code like this

Stay up-to-date with KDAB product announcements:

knut's People

Contributors

narnaud avatar leonmattheskdab avatar montel avatar renatofilho avatar mgiroday avatar phybrackets avatar smnppkdab avatar cwsharad avatar dfaure-kdab avatar itzurabhi avatar marc-kdab avatar winterz avatar manusht avatar mattkdab avatar seanharmer avatar navjeetkaur30 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.