{"id":16866604,"url":"https://github.com/ffes/nppfilesettings","last_synced_at":"2026-04-20T14:05:08.741Z","repository":{"id":28401271,"uuid":"31915589","full_name":"ffes/nppfilesettings","owner":"ffes","description":null,"archived":false,"fork":false,"pushed_at":"2025-08-18T10:25:25.000Z","size":350,"stargazers_count":0,"open_issues_count":4,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-10-06T17:46:41.755Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ffes.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2015-03-09T18:34:05.000Z","updated_at":"2022-08-11T19:31:23.000Z","dependencies_parsed_at":"2024-02-05T21:26:30.713Z","dependency_job_id":"ccef41bf-06f3-4ca0-bb03-ce2fe6d1a1f0","html_url":"https://github.com/ffes/nppfilesettings","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/ffes/nppfilesettings","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffes%2Fnppfilesettings","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffes%2Fnppfilesettings/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffes%2Fnppfilesettings/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffes%2Fnppfilesettings/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ffes","download_url":"https://codeload.github.com/ffes/nppfilesettings/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffes%2Fnppfilesettings/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32050454,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-20T11:35:06.609Z","status":"ssl_error","status_checked_at":"2026-04-20T11:34:48.899Z","response_time":94,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-13T14:51:09.505Z","updated_at":"2026-04-20T14:05:08.717Z","avatar_url":"https://github.com/ffes.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# NppFileSettings\n\nNppFileSettings is plug-in for [Notepad++](https://notepad-plus-plus.org/)\nthat tries to recognize VIM modelines and adjust settings for that file accordingly.\n\n\n## Currently supported\n\n### Support for [VIM modelines](http://vim.wikia.com/wiki/Modeline_magic)\n\n- `tabstop`, `ts`: set the width of tabstops\n- `expandtab`, `et`: tab key produces spaces\n- `noexpandtab`, `noet`: tab key produces tabs\n- `filetype`, `ft`, `syntax`, `syn`: specify the syntax highlighting used for the file\n- `fileformat`, `ff`: force the line ending to `unix`, `dos` or `mac`.\n- `fileencoding`, `fenc`: support the following file encoding, based on the [vim docs](https://vimdoc.sourceforge.net/htmldoc/mbyte.html#mbyte-encoding)\n  - `latin1`\n  - `utf-8`\n  - `utf-16`\n  - `utf-16le`\n\n\n## Planned\n\n- Support more VIM modelines options, if possible\n  - `wrap` and `nowrap` to wrap or don't wrap lines\n  - `textwidth`, `tw` (at what column does the text wrap, default to `SCI_GETEDGECOLUMN`)\n  - `shiftwidth`, `sw` can probably be mapped to `SCI_SETINDENT`\n  - `spell` and `nospell` to enable or disable the spelling check\n  - `spelllang` to set the spelling language\n\nThe `wrap` options need some work. This is a global setting in Notepad++ and\nit needs to be preserved when switching between files.\n\nThe [DSpellCheck plugin](https://github.com/Predelnik/DSpellCheck) first needs to have\n[an API](https://github.com/Predelnik/DSpellCheck/issues/309) to support the spell check\nrelated properties.\n\n\n## Not planned\n\n### vim modeline `encoding`\n\nThere will be no support for `encoding` in vim modelines, which is different from `fileencoding`, because the [vim documentation](https://vimdoc.sourceforge.net/htmldoc/options.html#'encoding') clearly states\n\n\u003e This option cannot be set from a |[modeline](https://vimdoc.sourceforge.net/htmldoc/options.html#modeline)|. It would most likely corrupt the text.\n\n### Notepad++ modeline format\n\nI have no intention to create yet another modeline variant especially for Notepad++.\nThere are already too many of them.\n\n\n## Wish List\n\n- Support the modeline concept found in other places\n\n  - [Emacs File Variables](https://www.gnu.org/software/emacs/manual/html_node/emacs/Specifying-File-Variables.html), see [#3](https://github.com/ffes/nppfilesettings/issues/3)\n  - [Kate Editor](https://kate-editor.org/2006/02/09/kate-modelines/)\n  - [Sublime Text](https://github.com/SublimeText/Modelines)\n  - [jEdit](https://www.jedit.org/users-guide/buffer-local.html)\n  - [PEP 263](https://peps.python.org/pep-0263), see [#4](https://github.com/ffes/nppfilesettings/issues/4)\n\n- Add a dialog to show which settings are active for the current document.\n\n- [Modeline Generator](https://www.wireshark.org/tools/modelines.html)\n  to add a modeline, compatible with your editor of choice,\n  to the current file or edit the existing one.\n\n\n## Caveats\n\n- Every time a file is activated (like when switching tabs), the plug-in\n  will do its thing, not just when the file is opened. When a file is saved\n  the plug-in is not activated (yet).\n\n- The modeline parser is very basic. The fact that this plug-in recognizes\n  something doesn't mean it is valid for `vim`. So when you add a modeline\n  be sure to check its syntax with the real thing.\n\n- If your `vim` doesn't recognize the modelines, you probably need to enable it.\n  Add these lines to `~/.vimrc`:\n\n  ```vim\n  set modeline\n  set modelines=5\n  ```\n\n\n## Known Issues\n\n- This plug-in could cause unexpected results if you use it together with\n  the [EditorConfig](https://editorconfig.org/) plug-in. When both plug-ins\n  are installed and a `.editorconfig` file exists and sets tabs and a VIM\n  modeline with tab settings is opened, it depends on the order the are\n  found in the `Plugins` menu of Notepad++ which plug-in does its thing\n  first. To fix this these two plugins need to become aware of each other\n  most likely with the message `NPPM_MSGTOPLUGIN`. EditorConfig should be\n  applied first (global) and the modeline after that (local).\n\n\n## History\n\nThis plug-in used to be called NppFileMagic. It was also able to set the\nlanguage of a file based on the first line of the file. But since v6.8.4 Notepad++\nrecognizes many languages by itself by parsing the first line of a file. The\ndetection was not that great, so I contributed some of my code and knowledge\nupstream and now that part of the plug-in was not needed anymore. Therefore I\ndecided to remove that code and rename to plug-in.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fffes%2Fnppfilesettings","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fffes%2Fnppfilesettings","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fffes%2Fnppfilesettings/lists"}