An integrated development environment (IDE) is a software application that provides comprehensive utilities for software development. This includes basic text editor functionalities (like syntax-highlighting, auto-indentation), code completion (making suggestions for how to complete lines of code), code linting (to show errors in code), project building (in the case of projects written in compiled languages like C and C++), running (in the case of projects written in dynamic languages like CoffeeScript, JavaScript, PHP, Python, etc.) and debugging, website previewing (for web IDEs like Bluefish), etc. There are several different open-source IDEs in Fedora's official repositories, including: