Lint UC Berkeley CS 162 Pintos projects.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


This linter plugin for SublimeLinter provides an interface to any C compiler output served at

It is intended to be used with the Pintos VM from UC Berkeley's CS 162 course, so that you can see compile-time errors without needing to run make manually. Here's a screenshot:

To use this, you need to follow these steps:


Short version: this plugin has the following dependency tree:

  • SublimeLinter-cs162
    • requires Package Decontrol to install
    • requires SublimeLinter3 to run
      • requires Package Control to install
      • requires Sublime Text 3 to run

Long version:

  1. Make sure you are on Sublime Text 3 (for SublimeLinter3 to work).
    If not, download it here.

  2. Make sure you have Package Control installed (for installing SublimeLinter3).
    If not, follow the instructions here to install.

  3. Make sure you have SublimeLinter3 installed (for this plugin to work).
    If not, go to Tools > Command Palette…, select Package Control: Install Package, then select SublimeLinter.

  4. Make sure you have Package Decontrol installed (for installing this plugin).
    If not, follow the instructions here to install.

  5. Make sure you have this plugin installed!
    If not, go to Tools > Command Palette…, select Package Decontrol: Install from GitHub, then enter szhu/SublimeLinter-cs162.


This linter repeatedly tries to fetch and tries to parse it as GCC/Clang error output. To make this work, one last step is required. Inside your VM, you need to enter

curl -fsL | python

and you need to keep this running as long as you want the linter to work. ^C to stop this.


  • Want to run this in the background?
    screen -d -m -- bash -c 'curl -fsL | python' should do it.
    screen -R to switch to the screen where the server is running, and then ^C to stop it.

  • Don't want to use Python? Here's an alternative that works almost perfectly… but because it doesn't support concurrent requests, the linter will sometimes show your errors after a subsequent save.
    bash -c 'while true; do make -j 2>&1 | nc -l 16280 > /dev/null; done'

  • The script at takes command line arguments. The syntax is:
    curl -fsL | python - 'COMMAND TO RUN' PORT
    where all three arguments are optional but must appear in that order.


Original idea by @szhu.

Plugin structure and regex from nirm03/SublimeLinter-clang.