From 9951d9cae88139b1b3ee2b40f0c82e726fa8a1da Mon Sep 17 00:00:00 2001 From: Konstantin Kharlamov Date: Mon, 19 May 2025 22:14:12 +0300 Subject: [PATCH 1/2] Remove NEWS file with a function that referred to it The file contains no development history of the mode. The last commit that modified it was the bulk-renaming of Haskell to PureScript, so not a single entry there belongs to purescript-mode. There was also a function for opening the file (autoloaded even), remove it as well. --- Makefile | 2 +- NEWS | 408 --------------------------------------------- purescript-mode.el | 10 -- 3 files changed, 1 insertion(+), 419 deletions(-) delete mode 100644 NEWS diff --git a/Makefile b/Makefile index 71a73de..5935b54 100644 --- a/Makefile +++ b/Makefile @@ -34,7 +34,7 @@ ELFILES = \ ELCFILES = $(ELFILES:.el=.elc) AUTOLOADS = purescript-mode-autoloads.el -PKG_DIST_FILES = $(ELFILES) logo.svg NEWS purescript-mode.info dir +PKG_DIST_FILES = $(ELFILES) logo.svg purescript-mode.info dir PKG_TAR = purescript-mode-$(VERSION).tar %.elc: %.el diff --git a/NEWS b/NEWS deleted file mode 100644 index a00be01..0000000 --- a/NEWS +++ /dev/null @@ -1,408 +0,0 @@ -PureScript Mode NEWS -*- org -*- - -This file uses Org mode. Some useful (default) key-bindings: - - Use "C-c C-n"/"C-c C-p" to jump to next/prev heading - - Use "" to expand/collapse nodes - - Use "" to cycle visibility of all nodes - - Use "C-c C-o" to open links - -* Changes in 13.10 - -- Small fix for purescript-simple-indent: Certain indentation situations - cause valname-string to be nil, which purescript-trim did not handle - gracefully (naturally, since nil != ""). - -- Luke Hoersten's Shnippet merged in under snippets/. - -- purescript-presentation-mode is now a purescript-mode derived mode. - -- Small improvement to purescript-process-do-info (works on constructors - now and underscored names). - -- Add purescript-indent-spaces configuration variable. - -- The command string to run cabal commands is slightly more - configurable. See: C-h f purescript-process-do-cabal-format-string - -* Changes in 13.8 - -See also [[https://github.com/purescript/purescript-mode/compare/v13.07...v13.08][detailed Git history]]. - -- Make `purescript-simple-indent-mode' a proper minor mode with `SInd` as - mode-line lighter - -- Support popular "λ> " prompt in inf-purescript by default - -- Hide internal `*print-purescript-mode*' buffers - (used when `purescript-interactive-mode-eval-mode' is active) - -- Add tab-completion support for purescript-interactive-mode - (requires `:complete' command support in GHCi) - -- Add support to `purescript-process-do-info` to perform `:browse!` query - on module name when called on import statement line - -- `purescript-decl-scan-mode': - - New customize group `purescript-decl-scan' - - New flag `purescript-decl-scan-bindings-as-variables' for controlling - whether to put value bindings into the "Variables" category. - - New flag `purescript-decl-scan-add-to-menubar' for controlling - whether to add "Declarations" menu entry to menu bar. - - New manual section node `(purescript-mode)purescript-decl-scan-mode' - -- Add support for [[http://www.purescript.org/ghc/docs/latest/html/users_guide/syntax-extns.html#lambda-case][LambdaCase]] syntax extension to `purescript-indentation` - -- Change `purescript-indentation-mode' to never jump back a whole line - when pressing DEL. The old behavior can be restored by setting - `purescript-indentation-delete-backward-jump-line' to t - -- New convenience function `purescript-cabal-visit-file' for locating and - visiting most likely `.cabal` file associated with current buffer - -- Add support for [[http://www.purescript.org/ghc/docs/latest/html/users_guide/syntax-extns.html#package-import][PackageImports]] and [[http://www.purescript.org/ghc/docs/latest/html/users_guide/syntax-extns.html#safe-imports-ext][SafePureScript]] syntax extensions to - `purescript-decl-scan-mode' parser - -- Add `turn-{on,off}-purescript-doc' commands as aliases for the existing - `turn-{on,off}-purescript-doc-mode' commands - -- Add support for "cabal repl" process type to `purescript-interactive-mode' - -- Add new PureScript compilation sub-mode and associated `purescript-compile' - command - -* Changes in 13.7 - -See also [[https://github.com/purescript/purescript-mode/compare/v13.06...v13.07][detailed Git history]]. - -- Convert NEWS (this file) to Org mode style and include NEWS file in - package and add command for visiting NEWS file - (M-x purescript-mode-view-news) - -- Officially drop support for versions prior to Emacs 23 - -- New work-in-progress Info manual for purescript-mode - -- Remove deprecated `purescript-{hugs,ghci}' modules - -- Font-locking changes: - - Remove deprecated `turn-on-purescript-font-lock` function - - Improve font-locking of type-signatures in presence of newlines - - Use `font-lock-preprocessor-face' instead of the previously used - `font-lock-warning-face` for CPP directives - - Use `font-lock-warning-face` instead of the previously used - `font-lock-preprocessor-face` for Git merge conflict annotations. - -- Improvements to `purescript-move-nested' module: - - Add support for operating on active regions - - New interactive commands `purescript-move-nested-{left,right}` which - support numeric prefix arguments for controlling the amount of - shifting to apply. - -- Add `purescript-unicode-input-method.el` to distribution - (enable with `turn-on-purescript-unicode-input-method`) - -- Fix all byte-compilation warnings - -- Build-system: - - For in-place installation, `purescript-site-file.el' is renamed - to `purescript-mode-autoloads.el` - - Auto-generate ELPA compatible README file by extracting header of - purescript-mode.el - - New "make check" target - - Add Travis-CI build jobs for testing byte-compilation with - multiple Emacs versions - -- Reorganize customize settings - - Add new convenience function for browsing all PureScript Mode settings - (M-x purescript-customize) - - Add `:link' keywords pointing to the new Info manual - - Add `:group' keywords to modes to make (M-x customize-mode) work - - Create new customization groups `purescript-interactive' and `inferior-purescript' - to clean up namespace - - Create new customization group `ghc-core` containing the two new - customization variables `ghc-core-program` and `ghc-core-program-args`. - -- Improvements to purescript-interactive-mode - - Add support for deleting compile messages superseded by recompile/reloads - (M-x customize-variable RET purescript-interactive-mode-delete-superseded-errors) - - Fix `C-u M-x purescript-process-do-type` inserting bad signatures - - Integrate with Emacs' `next-error` subsystem - - Add "C-c C-f" binding to REPL keymap for enabling `next-error-follow-minor-mode' - - Add support for `-ferror-spans`-style compile messages - - Add `-ferror-spans` as default for `purescript-process-args-ghci` - - Add optional argument to - `purescript-session-{all,installed,project}-modules' to suppress - session-creation. This is useful for yasnippet usage, see commit - 517fd7e for an example. - - Change default for `purescript-process-path-ghci` to a static "ghci" - - Fix `purescript-interactive-switch` not selecting the REPL window - - Make `*purescript-process-log*` buffer configurable - (controlled via new `purescript-process-log` customize option) - -* Changes in 13.6 - -See also [[https://github.com/purescript/purescript-mode/compare/2_9_1...v13.06][detailed Git history]]. - -- Switch to new versioning scheme - -- Switch to MELPA/Marmalade based packaging - -- Cleanup/refactor build-system - -- Enhance `M-x purescript-version` to report more detailed versioning - information - -- Make purescript-interactive-mode emulate comint/eshell history navigation - (see commit 0e96843 for more details) - -- Improvements to purescript-interactive-mode - - Improve killing/restarting purescript-interactive sessions - - Improve directory prompting and resolution - - Fix redundant-import suggest trigger to support qualified imports - - Detect all abbreviations of an user-inputted ":quit" - - Fix regexps for recent GHC 7.x compiler messages - - Customizable commandline args for GHCi - (M-x customize-variable RET purescript-process-args-ghci) - - New command to load or reload via prefix argument - (M-x purescript-process-load-or-reload) - - Fix purescript-interactive-mode prompt detection - - Add cabal-ghci as supported process mode - - Add a customization option for the visibility of multi-line errors - (M-x customize-variable RET purescript-interactive-mode-hide-multi-line-errors) - -- Add forward declarations to reduce Elisp bytecompile warnings - -- Improvements to `purescript-indentation` - - Add support for the UnicodeSyntax tokens `→`, `←`, and `∷`. - - Indent "=" following data/type/newtype declarations. - - Align "->"/"→" arrows in types under "::"/"∷" - - Make customizable whether "" deletes indentation too - (via `purescript-indentation-delete-backward-indentation` and - `purescript-indentation-delete-indentation`) - - Properly indent 'rec' keyword, same as 'mdo' - - Minor optimizations. - -- Add support for "'"-prefixed constructors (-> DataKinds) to font-locking - -- New experimental purescript session menu mode (M-x purescript-menu) - -- Various minor cleanups/fixes/improvements... - -* Changes in 2.9.1 - -See also [[https://github.com/purescript/purescript-mode/compare/2_9_0...2_9_1][detailed Git history]]. - -- Bugfix release adding missing autoload declaration - -* Changes in 2.9.0 - -See also [[https://github.com/purescript/purescript-mode/compare/2_8_0...2_9_0][detailed Git history]]. - -- This is the first release after purescript-mode was migrated to GitHub - -- New experimental `purescript-interactive-mode' module implementing a - new REPL interaction mode for GHCi sessions to eventually replace - the existing "inf-purescript" mode. - -- New `purescript-process-cabal' command for interaction with cabal-install - -- New `purescript-checkers' module - -- Update purescript-cabal-mode font-lock keywords - -- Improve scrolling of hoogle output (purescript-mode.el) - -- Derive `purescript-mode` from `prog-mode` for Emacs 24+ - -- Add new binding for "" to purescript-mode's keymap which - unindents current line - -- New modules `purescript-navigate-imports`, `purescript-sort-imports' and - `purescript-align-imports' for operating on module import lines in - PureScript source code - -- Add new binding for "C-c C-." to purescript-mode's keymap to sort and - realign PureScript module imports - -- Add new binding for "C-c i" to purescript-mode's keymap to jump back and - forth from/to the current PureScript module's module import section. - -- New `inferior-purescript-kind' function for querying kind via GHCi's ":kind" - -- New `inferior-purescript-send-decl' for sending declarations to GHCi - (bound to "C-x C-d" by default) - -- Add new `purescript-doc-use-inf-purescript` customization variable - -- Add support for bird-style literate purescript editing and a new - related customization variable - `purescript-indentation-birdtrack-extra-space' - -- Font locking improvements - - Add support for Git's merge annotation - (with `font-lock-preprocessor-face') - - Improve `import', `foreign import' and `foreign export' font - locking - - Add support for `rec', `proc' and `mdo` as keywords - - Make whitespace within `-- |' and `{- |' optional when possible - -- New `purescript-move-nested` module providing utilities for - interactively {in,de}denting nested "hanging" blocks. - -- Add stylish-purescript support - (enable via `purescript-stylish-on-save` customization variable) - -- Add support for generating tags on save - (enable via `purescript-tags-on-save' customization variable) - -- Set sensible dabbrev defaults in purescript-mode - -- Added `SCC` pragma insert/delete commands - (`purescript-mode-insert-scc-at-point` and `purescript-mode-kill-scc-at-point') - -- New experimental `purescript-mode-contextual-space' command - -- And a couple more cleanups/fixes/improvements... - -* Changes in 2.8.0 (since 2.7.0) - -See also [[https://github.com/purescript/purescript-mode/compare/2_7_0...2_8_0][detailed Git history]]. - -- Minimal indentation support for arrow syntax - -- Avoid opening a new inf-purescript window if one is already visible. - Windows on other virtual desktops or iconified frames don't count. - -- Force comint-process-echoes to nil - -- Autolaunch purescript-mode for files starting with #!/usr/bin/runghc - and similar - -- Added minimal major mode for parsing GHC core files, courtesy of Johan Tibell. - There is a corresponding PureScript menu entry. - -- Allow configuration of where-clause indentation; M-x customize-group - purescript-indentation. - -* Changes since 2.6.4 - -- fill-paragraph (M-q) now only affects comments, and correctly - handles Haddock commentary. adaptive-fill-mode is turned off, as it - was interfering. - -- Yet more unicode symbols - -- Better support for unicode encoding of purescript source files - -- mdo correctly indented - -- Indentation fixes, fixes to the fixes, and fixes to the fixes to the - fixes - -- New command: M-x purescript-check, calls (by default) hlint on the - current file. Also bound to C-c C-v. - - You can also use the flymake minor mode with this. - -* Changes since 2.5.1 - -- Parser corrections for purescript-indentation and purescript-decl-scan - -- purescript-indentation: Pressing tab in the rightmost position now - moves to the leftmost, by default with a warning. - -- Typo fix: One purescript-indentation variable had ended up in the - purescript-ntation customize group. - -- purescript-hoogle aliased to hoogle, purescript-hayoo aliased to hayoo - -- Courtesy of Alex Ott: - - Additional unicode symbols for font-lock-symbols: () == /= >= <= !! && || sqrt - - M-x purescript-hayoo search added, opens using browse-url - - Bug-fix for inferior-purescript-type - -- If purescript-indentation errors out, it now fail-safes to inserting - a literal newline or deleting one character, for return and - backspace respectively. - -* Changes since 2.4: - -- purescript-indentation, a new minor mode for indentation. - -* Changes since 2.3: - -- Update license to GPLv3. - -- New derived major mode for .pursc files. - -- Removed the C-c C-r binding to reload a file. You can still call - inferior-purescript-reload-file (and/or bind it to your favorite key, - including C-c C-r) or you can now use C-u C-c C-l. - -- C-c C-d looks up the symbol at point in the Haddock docs. - -- Haddock comments are highlighted with font-lock-doc-face if it exists. - -- Use `tex' rather than `latex' for purescript-literate. - -- inf-purescript.el tries to find the root of the module hierarchy to determine - the root of a project (either by looking for a Cabal file or relying on - the `module' declaration line). If all works well, this will make C-c C-l - automatically switch to the root dir, so that dependencies in other - directories are automatically found. If it doesn't, complain and/or set - inferior-purescript-find-project-root to nil. - -- The new command purescript-hoogle helps you query Hoogle from Emacs. - -* Changes since 2.2: - -- Trivial support for Cabal package description files. - -- Minor bug fixes. - -* Changes since 2.1: - -- There are now commands to find type and info of identifiers by querying an - inferior purescript process. Available under C-c C-t, C-c C-i, and C-c M-. - -- Indentation now looks back further, until a line that has no indentation. - To recover the earlier behavior of stopping at the first empty line - instead, configure purescript-indent-look-past-empty-line. - -- inf-purescript can wait until a file load completes and jump directly to the - first error, like purescript-ghci and purescript-hugs used to do. See the var - inferior-purescript-wait-and-jump. - -* Changes since 2.0: - -- inf-purescript uses ghci if hugs is absent. - -- Fix up some binding conflicts (C-c C-o in purescript-doc) - -- Many (hopefully minor) changes to the indentation. - -- New symbols in purescript-font-lock-symbols-alist. - -* Changes since 1.45: - -- keybindings C-c have been replaced by C-c C- so as not - to collide with minor modes. - -- The following modules are now automatically activated without having to - add anything to purescript-mode-hook: - purescript-font-lock (just turn on global-font-lock-mode). - purescript-decl-scan (just bind `imenu' to some key). - -- In recent Emacsen, purescript-doc hooks into eldoc-mode. - -- purescript-hugs and purescript-ghci are superceded by inf-purescript. - -- Indentation rules have been improved when using layout inside parens/braces. - -- Symbols like -> and \ can be displayed as actual arrows and lambdas. - See purescript-font-lock-symbols. - -- Tweaks to the font-lock settings. Among other things paren-matching - with things like \(x,y) should work correctly now. - -- New maintainer . diff --git a/purescript-mode.el b/purescript-mode.el index e1218cb..f646835 100644 --- a/purescript-mode.el +++ b/purescript-mode.el @@ -72,16 +72,6 @@ When MESSAGE is non-nil, display a message with the version." (insert version) (message "%s" version)))) -;;;###autoload -(defun purescript-mode-view-news () - "Display information on recent changes to purescript-mode." - (interactive) - (with-current-buffer (find-file-read-only (expand-file-name "NEWS" purescript-mode-pkg-base-dir)) - (goto-char (point-min)) - (outline-hide-sublevels 1) - (outline-next-visible-heading 1) - (outline-show-subtree))) - (defgroup purescript nil "Major mode for editing PureScript programs." :link '(custom-manual "(purescript-mode)") From 09a864d116026bfa05b63d9f7b383a3bded26369 Mon Sep 17 00:00:00 2001 From: Konstantin Kharlamov Date: Mon, 19 May 2025 22:20:17 +0300 Subject: [PATCH 2/2] Remove logo.svg It's a Haskell logo, from times it was a haskell-mode. --- Makefile | 2 +- logo.svg | 16 ---------------- 2 files changed, 1 insertion(+), 17 deletions(-) delete mode 100644 logo.svg diff --git a/Makefile b/Makefile index 5935b54..efb5994 100644 --- a/Makefile +++ b/Makefile @@ -34,7 +34,7 @@ ELFILES = \ ELCFILES = $(ELFILES:.el=.elc) AUTOLOADS = purescript-mode-autoloads.el -PKG_DIST_FILES = $(ELFILES) logo.svg purescript-mode.info dir +PKG_DIST_FILES = $(ELFILES) purescript-mode.info dir PKG_TAR = purescript-mode-$(VERSION).tar %.elc: %.el diff --git a/logo.svg b/logo.svg deleted file mode 100644 index 401e599..0000000 --- a/logo.svg +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - - - - - - -