Comments (2)
Thanks! I had your issue in mind when writing this, it's part of what prompted me to start the guide
My understanding of the differences if you're not doing anything with modules is basically the same as yours:
:luafile
will execute a script regardless of whether it's been executed before:luafile
, being an ex command, takes a path that's either absolute or relative to the working directory of the current window:lua require('foo')
prevents the script from being parsed and executed a second time (unless you're settingpackage.loaded['foo']
tonil
orfalse
):lua require('foo')
usespackage.path
to search for modules
I'm far from being a Lua expert though, so there might be other things to take into account.
It'd be good to add a section explaining these differences, although I would expect :luafile
to become less useful once Neovim supports loading init.lua
directly. Not really sure where such a section would go, maybe after v:lua
?
from nvim-lua-guide.
Thanks! I had your issue in mind when writing this, it's part of what prompted me to start the guide
I was wondering whether it was a coincidence that it addressed so many of my questions directly :)
It'd be good to add a section explaining these differences, although I would expect :luafile to become less useful once Neovim supports loading init.lua directly. Not really sure where such a section would go, maybe after v:lua?
I think it's sufficient to make a brief remark on this in the section on luafile
-- that's where I expect people (like me) have the question "should I do this or lua require
then? does it make a difference?"
(Not sure it'll become obsolete, although that depends on how exactly init.lua
is handled. I use it for sourcing small lua-only plugin configurations, for which I'd use config/plugin
files in vimscript -- if lua files are automatically sourced in that directory, I do indeed see this becoming less useful.)
from nvim-lua-guide.
Related Issues (20)
- neovim autocommands got merged, describe them in guide HOT 4
- threading support for lua via libuv got merged, link to good tutorial on usage
- suggestions on how to reload keymaps and options
- How to get &ft from lua HOT 4
- Describe how to create user commands that support ranges
- explain that `vim.api.nvim_set_keymap(mode, ..)` is first char of `:lua print(vim.api.nvim_get_mode().mode)` and hint that there is a minor mode HOT 2
- FFI Library: calling native C function
- Remove problematic flags emoji
- Can we use this guide in Neovim? HOT 3
- Add a Table of content HOT 1
- add protected call for make sure the first run will work properlly
- add recommended formatter setup for lua and nvim lua plugin template
- Question: lua replacement for `executable()`? HOT 2
- how to read the command arguments `:command arg1 arg2` with lua HOT 2
- vim.api.nvim_exec() example gives error HOT 1
- lua user commands pr landed, so describe them in guide HOT 1
- Improper handling of relative paths with spaces HOT 2
- How to let `vim.cmd` accept the range from visual selection HOT 1
- Create keymap to open new file adjacent to current file HOT 6
- DEPRECATED replaced by mode option HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from nvim-lua-guide.