Skip to content

F# source code lexer and IPC client for F# Interactive

Notifications You must be signed in to change notification settings

rdipardo/nppFSIPlugin

 
 

Repository files navigation

F# Interactive Plugin for Notepad++

Built with Free Pascal cci-badge

NPPFSIPlugin-v0.2.2.0-x64

Usage

Default shortcut Command
Alt + Shift + F12 open/close the FSI console window
Alt + Enter (with text selected) evaluate the active selection in FSI
none pass the current file to FSI's #load directive 1

Note

Console output can be selected and copied to the clipboard by right-clicking in the console window.

F# Syntax Highlighting

Notepad++ 8.4.3 and later

Opening any file with the extension *.fs, *.fsx, *.fsi or *.fsscript will activate Lexilla's F# lexer.

Older Notepad++ versions

For dark themes, copy the Obsidian theme F# UDL into %AppData%\Notepad++\userDefineLangs (system-wide Notepad++ installation), or the userDefineLangs folder of a portable Notepad++ installation.

For the default or a light theme, use the default F# UDL.

Note

Both UDLs have "transparent" backgrounds (i.e., colorStyle="1").

Installation

Plugins Admin

A builtin plugin manager is available in Notepad++ versions 7.6 and newer.

Find Plugins on the main menu bar and select Plugins Admin. Check the box beside F# Interactive and click Install.

Manual installation

  • Download a release archive

  • Extract the NPPFSIPlugin.dll module and subfolders (Doc, Config)

  • Right-click on NPPFSIPlugin.dll and select Properties:

    plugin-file-props
  • If the Unblock option is shown, click the checkbox and click Apply, then OK:

    plugin-remove-MOTW
  • System-wide Notepad++ installation

    • Create a folder named NPPFSIPlugin under %ProgramFiles%\Notepad++\plugins (64-bit), or %ProgramFiles(x86)%\Notepad++\plugins (32-bit)
  • Portable Notepad++

    • Locate the plugins folder where notepad++.exe is installed
    • Create a folder named NPPFSIPlugin
  • Move the NPPFSIPlugin.dll module and Config subfolder into the NPPFSIPlugin folder:

    plugin-install-dirs
  • Restart Notepad++ if it’s already running

Acknowledgements

Original source code © 2010 Prapin Peethambaran, MIT License

The FpcPipes unit is adapted from source code believed to be in the Public Domain: https://github.com/marsupilami79/DelphiPipes#licensing

The F# Software Foundation logo for F# is an asset of the F# Software Foundation: https://foundation.fsharp.org/logo

License

Distributed under the terms of the GNU General Public License, Version 3 or later, in addition to the rights of past contributors mentioned in Copyright.txt.

Footnotes

  1. Also starts a new FSI session if one is not currently active.