github-linguist / github-linguist/linguist

Add support for expect (as a form of tcl)

Open
#6,613 7 comments 0 reactions 0 assignees View on GitHub
Add Language Good First Issue
Dominant language
Ruby
Stars
13.7k
Forks
5.4k
Avg merge
1d 15h
Merged PRs (30d)
17

Description

## Language name
Expect

## URL of example file
https://github.com/gcc-mirror/gcc/blob/master/gcc/testsuite/lib/compat.exp

## URL of syntax highlighting grammar
https://github.com/textmate/tcl.tmbundle

## Most popular extensions
`.exp`

## Detected language
None

## Commentary
Expect is an extension to the Tcl scripting language, used by the dejagnu testing framework, which is in turn used to implement the testsuites for many important GNU toolchain projects, such as GCC and GDB. It can also easily be added to any project that uses `automake` by simply adding `dejagnu` to the `AM_INIT_AUTOMAKE([])` invocation in `configure.ac`, and/or the `AUTOMAKE_OPTIONS` variable in `Makefile.am`. Note that I'm not sure if it should be treated as its own separate language, or if it would make more sense to just add `.exp` to the list of supported extensions for tcl, so I'm going to hold back from submitting a PR until we can develop some consensus as to how to answer that question.

## Links
- https://en.wikipedia.org/wiki/Expect
- https://core.tcl-lang.org/expect/index
- https://sourceforge.net/projects/expect/
- https://www.nist.gov/services-resources/software/expect

Contributor guide

Open the contributing guide

Research direction

Review the example file gcc/testsuite/lib/compat.exp and the Tcl grammar at textmate/tcl.tmbundle. First resolve whether Expect should be a separate language or whether .exp belongs under Tcl; then identify the Linguist language-definition and detection entry points. Done means the chosen approach detects and highlights Expect files consistently.

Written by the indexing model from the issue text.

Assessment

Domain
tooling
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.