# Example `testglobal.lua`

    -- very simple lexer program which looks at all identifiers in a Lua

    -- file and checks whether they're in the global namespace.

    -- At the end, we dump out the result of count_map, which will give us

    -- unique identifiers with their usage count.

    -- (an example of a program which itself needs to be careful about what

    -- goes into the global namespace)

    local utils = require 'pl.utils'

    local file = require 'pl.file'

    local lexer = require 'pl.lexer'

    local List = require 'pl.List'

    local pretty = require 'pl.pretty'

    local seq = require 'pl.seq'

    utils.on_error 'quit'

    local txt,err = file.read(arg[1] or 'testglobal.lua')

    local globals = List()

    for t,v in lexer.lua(txt) do

    	if t == 'iden' and rawget(_G,v) then

    		globals:append(v)

    	end

    end

    pretty.dump(seq.count_map(globals))

generated by LDoc 1.3.12