# kotlin-mode

> major mode for editing Kotlin source code in emacs

**Wikidata**: [Q112131823](https://www.wikidata.org/wiki/Q112131823)  
**Source**: https://4ort.xyz/entity/kotlin-mode

## Summary
**kotlin-mode** is a major mode for the GNU Emacs text editor designed for editing Kotlin source code. Written in Emacs Lisp, it facilitates Kotlin development by providing syntax highlighting and code editing features within the Emacs environment. It is free software maintained by Shodai Yokoyama and is distributed as part of the NonGNU Emacs Lisp Package Archive (ELPA).

## Key Facts
- **Entity Type:** Free software; Emacs major mode; Software library.
- **Platform:** GNU Emacs.
- **Programming Language:** Emacs Lisp.
- **Maintainer:** Shodai Yokoyama (Copyright holder since 2015).
- **Current Version:** 2.0.0 (Stable), released on May 25, 2022.
- **Previous Version:** 1.0.0 (Stable), released on January 29, 2022.
- **Distribution:** Part of NonGNU ELPA (since January 29, 2022); available as `elpa-kotlin-mode` on Ubuntu and `emacs-kotlin-mode` on Guix.
- **Source Repository:** Hosted on `git.savannah.gnu.org` (cgit / Gitweb).
- **License:** Free Software (classified as copyrighted).

## FAQs
### Q: What is kotlin-mode used for?
A: Kotlin-mode is an extension for GNU Emacs that provides a "major mode" for editing Kotlin programming language source code. It enables syntax highlighting and specialized editing capabilities for Kotlin developers using Emacs.

### Q: Who created and maintains kotlin-mode?
A: The software is maintained by Shodai Yokoyama, who has held the copyright since 2015. It is developed as part of the free software movement.

### Q: How is kotlin-mode installed or distributed?
A: It is distributed via the NonGNU Emacs Lisp Package Archive (NonGNU ELPA) and can be found in Linux package repositories under names like `elpa-kotlin-mode` (Ubuntu) and `emacs-kotlin-mode` (Guix).

## Why It Matters
Kotlin-mode plays a specific but essential role in the software development ecosystem by bridging the gap between the modern Kotlin programming language and the long-standing GNU Emacs text editor. While Emacs is highly extensible, it requires specific "major modes" to natively understand the syntax and structure of different programming languages.

The inclusion of kotlin-mode in the **NonGNU ELPA** starting in January 2022 marks a significant milestone in its maturity and accessibility. Being part of NonGNU ELPA means it is officially recognized and easily installable by the wider Emacs community without requiring third-party repositories. This ensures that developers working in Kotlin can remain within their preferred Emacs environment, utilizing a tool that is actively maintained and compliant with free software standards. Its presence in major Linux distributions like Ubuntu and Guix further solidifies its status as the standard solution for Kotlin editing in Emacs.

## Notable For
- **Official NonGNU Inclusion:** It is a constituent part of the NonGNU ELPA, ensuring high availability and reliability for users.
- **Linux Distribution Support:** It is packaged for major systems including Ubuntu (as `elpa-kotlin-mode`) and Debian.
- **Rapid Release Cycle:** It saw two stable releases (v1.0.0 and v2.0.0) within the first half of 2022.
- **Free Software Foundation Context:** It is deeply integrated into the free software ecosystem, hosted on Savannah (GNU's software repository) and written in Emacs Lisp.

## Body
### Definition and Purpose
**kotlin-mode** is a software library and extension for **GNU Emacs**. Its primary function is to serve as a "major mode," a specific editing environment tailored for **Kotlin** source code. As an instance of free software, it is designed to run on the Emacs platform, providing users with the necessary tools to edit code efficiently. The software is written in **Emacs Lisp**, the dialect of Lisp used in GNU Emacs.

### Development and History
The project has been maintained by **Shodai Yokoyama** since 2015. It operates under a free software license and is categorized as copyrighted software.

The development timeline highlights recent significant activity:
- **January 29, 2022:** Version 1.0.0 was released as the first stable version.
- **January 29, 2022:** The project officially became part of **NonGNU ELPA**.
- **May 25, 2022:** Version 2.0.0 was released, which is currently marked as the preferred stable version.

### Distribution and Availability
Kotlin-mode is accessible through several official channels, making it easy to install across different environments:
- **NonGNU ELPA:** The primary distribution point for Emacs users (start time: January 29, 2022).
- **Ubuntu:** Available via the package `elpa-kotlin-mode`.
- **Guix:** Available under the variable name `emacs-kotlin-mode`.
- **Debian:** The source package is named `kotlin-mode`.

### Technical Resources
The software maintains a strong online presence for both end-users and developers.
- **Source Code:** The repository is hosted on `git.savannah.gnu.org` using cgit and Gitweb interfaces.
- **Websites:**
  - **GitHub:** `https://github.com/Emacs-Kotlin-Mode-Maintainers/kotlin-mode` (Targeted at programmers).
  - **ELPA Official Site:** `https://elpa.nongnu.org/nongnu/kotlin-mode.html` (Targeted at end users).

## References

1. [Source](https://elpa.nongnu.org/nongnu/kotlin-mode.html)
2. [Source](https://git.savannah.gnu.org/cgit/emacs/nongnu.git/tree/kotlin-mode.el?h=elpa/kotlin-mode)
3. [Kotlin-Mode version 1.0.0. 2022](https://lists.gnu.org/archive/html/gnu-emacs-sources/2022-01/msg00103.html)
4. [Kotlin-Mode version 2.0.0. 2022](https://lists.gnu.org/archive/html/gnu-emacs-sources/2022-05/msg00067.html)